我在我的 EditText 中添加了一个 OnFocusChangeListener ,这样当用户在 EditText 视图外部单击或跳出选项卡时,我可以对值进行一些验证:
EditText myEditText = (EditText) itemView.findViewById(R.id.myedittext);
myEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean hasFocus) {
EditText editText = (EditText)view;
if (!hasFocus) {
validate(editText.getText().toString());
}
}
}
但是,似乎 onFocusChange() 方法像 textChanged() 方法一样被调用。每次我在文本字段中输入任何内容时都会调用它。我在 2.2 模拟器和我自己的硬件设备上都试过了,它们的作用相同。
我将不胜感激有关 OnFocusChangeListener 应该如何工作以及为什么它以适合我的方式工作的任何见解。
先感谢您。