今天,我遇到了这个非常有趣的情况。
假设:
一个EditText是从实例化XML。
EditText editText;
editText = findViewByID(R.id.editText_xml_id);
Run Code Online (Sandbox Code Playgroud)
现在,我想听听重点的变化EditText。所以我写了下面的代码:
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean b) {
Log.e("TAG", "Focus Changed in parent" );
}
});
Run Code Online (Sandbox Code Playgroud)
到此时为止一切都很好,因为当焦点改变时,将触发对数。
现在有趣的部分:说,我想放置相同的焦点侦听器,但是要两次!所以我要做的是:
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean b) {
Log.e("TAG", "Focus Changed in parent: First callback" );
}
});
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean b) {
Log.e("TAG", "Focus Changed in parent: Second callback" );
}
});
Run Code Online (Sandbox Code Playgroud)
我所期望的是,因为editText实例已设置为侦听两个实例,View.OnFocusChangeListeners …