EditText setOnFocusChangeListener em todos os EditTexts

Eu tenho vários campos EditText que eu quero salvar no SQLiteDatabase com setOnFocusChangeListener. Eu tenho que definir um onFocusChangeListener em cada um individualmente, ou existe algum tipo de catch-all? (getActivity (). findViewByID porque este é um fragmento)

final TextView txtName = (TextView)getActivity().findViewById(R.id.clientHeader);
final TextView txtCompany = (TextView)getActivity().findViewById(R.id.txtContactCompany);       
final TextView txtPosition = (TextView)getActivity().findViewById(R.id.txtContactPosition);     


txtName.setOnFocusChangeListener(new OnFocusChangeListener() {          
    public void onFocusChange(View v, boolean hasFocus) {
        if(!hasFocus) {
            saveThisItem(txtClientID.getText().toString(), "name", txtName.getText().toString());
        }
    }
});


txtCompany.setOnFocusChangeListener(new OnFocusChangeListener() {          
    public void onFocusChange(View v, boolean hasFocus) {
        if(!hasFocus) {
            saveThisItem(txtClientID.getText().toString(), "company", txtCompany.getText().toString());
        }
    }
});

txtPosition.setOnFocusChangeListener(new OnFocusChangeListener() {          
    public void onFocusChange(View v, boolean hasFocus) {
        if(!hasFocus) {
            saveThisItem(txtClientID.getText().toString(), "position", txtPosition.getText().toString());
        }
    }
});

Tipo ... existe alguma maneira de ter um ArrayList <EditText> de EditText Views, atribuir um ponteiro (desculpe, não sei como) aos editTexts existentes e definir o onFocusChangeListener para o arraylist inteiro? Ou, ainda, percorrer o ArrayList e definir o onFocusChangeListener para cada membro?

Ou uma maneira de detectar ANY onFocusChangeListener eventos, e apenas salvar todos os dados para o banco de dados, independentemente do que EditText o mesmo ocorreu em?

questionAnswers(4)

yourAnswerToTheQuestion