마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

edittext에서 textwatcher랑 setNextFocusDownId 랑 관계가 있나요?

0 추천

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에도 다 적용이 되는지 동일하게 동작하더라구요..

혹시 이유나 내부 로직 알 수 있을까요?

 

sj6071 (620 포인트) 님이 2018년 4월 23일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...