我正在一个活动的登录页面上工作,其中用户名和密码作为两个编辑文本框。当焦点从用户名更改为密码框时,我试图显示Toast消息:-如果在用户名框中输入的文本中有空格-如果没有空格,则不显示Toast。
您应该为您的两次编辑实现OnFocus usChangeListener,请参阅下面的代码:
EditText myEdit = (EditText) findViewById(R.id.edit1);
myEdit .setOnFocusChangeListener(new OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if (!hasFocus) {
// Do the check for white spaces and display the Toast
}
}
});
您可以为此使用View. OnFocus usChangeListener。
代码示例:
et_uname.setOnFocusChangeListener(new View.OnFocusChangeListener(){
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus == false && et_uname.getText().toString() != null && et_uname.getText().toString().contains(" ")){
Toast.makeText(getActivity(), "Alert", Toast.LENGTH_LONG).show();
}
}
};
这是为片段完成的。如果是内部活动,则可以更换
getActivity()
具有
<activityname>.this
这里hasFocus=true表示et_uname当前有焦点,hasFocus=false表示没有焦点。由于您需要在焦点丢失时提醒用户,因此必须为hasFOcus==false添加一个条件。
EditText txtEdit = (EditText) findViewById(R.id.edittxt);
txtEdit.setOnFocusChangeListener(new OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if (!hasFocus) {
if (txtEdit.getText().Contains(" ")) {
Toast.makeText(context, text, Toast.LENGTH_SHORT).show();
}
}
});
参考号:https://stackoverflow.com/a/10627231/2111834
我正在做Android智能电视应用: > 在中有一个自定义键盘和一个。 当应用程序启动时,焦点转到键盘。 null
但不幸的是,它无法工作。 这是我今天尝试的最后一次尝试,但没有奏效: 和样式:
当失去焦点时,我需要捕捉,我搜索了其他问题,但没有找到答案。 我这样使用 但是,这对我不起作用。
我创建了一个Jframe,它由Jbutton(Ok)、Jbutton(cancel)、Jtextfield和一个Jtable组成。我想当按下OK按钮时,焦点变为Jtextfield,当按下增益按钮时,焦点变为JTable。 如何在组件之间更改焦点? 这就是我尝试过的: 它只关注JTextfield,但不会将焦点更改为JTable 编辑:我也试过: 但没有奏效 这是整个代码:
在我的活动中,我有一个editText字段。当用户点击它时,editText获得焦点并出现键盘。现在,当用户按下手机上的硬件后退按钮时,键盘会消失,但光标仍保留在Edittext中,即它仍然具有焦点。当按下后退按钮时,是否有可能使EditText失去焦点?我尝试使用以下代码,但它不起作用:
问题内容: 我有输入要显示格式化的数字。通常,当它没有焦点时,应该显示一个格式化的字符串,例如’$ 50,000.00’。但是当它具有焦点时,它应该显示原始值,例如用于编辑的50000。 有内置功能吗?谢谢! 问题答案: 这是一条指令(),它可以执行您想要的操作。 请注意,只有元素的显示值才被格式化(模型值将始终为未格式化)。 这个想法是您为和事件注册侦听器,并根据元素的焦点状态更新显示值。 另请