textwatcher를 다 다른거로 edittext.
EditItemData_1.addTextChangedListener(textWatcher1);
EditItemData_2.addTextChangedListener(textWatcher2);
EditItemData_3.addTextChangedListener(textWatcher3);
(textWatcher3);EditItemData_1.setNextFocusDownId(R.id.EditItemData_2);
EditItemData_2.setNextFocusDownId(R.id.EditItemData_3);
EditItemData_3.setNextFocusDownId(R.id.EditItemData_4);
EditItemData_1.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
if(i==EditorInfo.IME_ACTION_DONE||i==EditorInfo.IME_ACTION_NEXT){
if (multiChoice) {
Log.i("tagg", "이미지 : 여러장 호출");//여기서 액션하는 클래스를 불러와 줍니다.
actionClass();}
}
return false;
}
});
이런식으로 코드를 구현했는데요, EditItemData_1.setOnEditActionListner에 구현해서 actionClass()를 한번만 수행했는데요, EditItemData_2나 3을 수행할 때도 그냥 텍스트와쳐에서 값이 변할때마다 저 클래스를 호출해 오게 되더라구요.
이게 next로 설정해놔서 상속받는 개념인지 왜 이렇게 수행하는지 이해가 잘 안갑니다.
뭐 일단 수행은 되는데, 로직상 맞지 않는 것 같아서요...
setOnEditActionListner에서 구현하지 않고 텍스트와쳐에서 afterTextChanged에서 클래스를 호출해도 EditItemData_1에서만 호출하면 나머지 edittext에도 다 적용이 되는지 동일하게 동작하더라구요..
혹시 이유나 내부 로직 알 수 있을까요?