如果任何EditText处于焦点,则更改

时间:2013-02-07 15:07:34

标签: java android focus android-edittext onfocus

在我的程序中,我使用了很多动态创建的EditText,每次当它们中的任何一个被更改时都需要调用方法(失去焦点)。有可能做这样的事吗? 否则如何使焦点丢失\更改lister for all View?

1 个答案:

答案 0 :(得分:1)

您需要为EditText设置View.setOnFocusChangeListener以侦听焦点更改。

例如:

 View.OnFocusChangeListener editTextFocusChnage=
                                   new View.OnFocusChangeListener() {

    @Override
    public void onFocusChange(View v, boolean hasFocus) {
        swich(v.getId()){
         case  Edittext1_id:
           // do your work here..
                break;
         case Edittext2_id:
          // do your work here..
           break;
         case Edittext3_id:
          // do your work here..
           break;   
          .....        

        }
    }
};

其中Edittext1_id,Edittext2_id,....是动态EditText id的

编辑: -

FocusChangeListener添加到EditText中:

    editText1.setOnFocusChangeListener(editTextFocusChnage);
    editText2.setOnFocusChangeListener(editTextFocusChnage);
    editText3.setOnFocusChangeListener(editTextFocusChnage);
    .....