视图如何检测其子视图的焦点状态?正如你在这张照片中看到的那样。
父视图是带有子视图LinearLayout
的{{1}}。我想在焦点状态改变时更改UI(如果专注于edittext,linearlayout会变为红色)。但只有EditText
可以检测焦点状态,而EditText
则不能。因为我可以使用LinearLayout
倾听EditText
的状态。但我不满足于此。有一种简单的方法可以让父视图获得子视图的焦点事件吗?表格有很多项目。
答案 0 :(得分:-1)
我也认为除了
之外别无其他方法onfocusChangeListner
如果您有很多edittext,那么您只需使用参数创建一个方法,并在其中只编写一个onfocuschangeListner
这样的
public void setColorToEditText(EditText editText) {
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
Log.e("userFocu", "userFocu");
if (!hasFocus) {
// code to execute when EditText loses focus
}
}
});