딸기스무디

Edittext사이에 focus 전환하기 + setOnKeyListener 본문

android

Edittext사이에 focus 전환하기 + setOnKeyListener

strawberry-smoothie 2020. 10. 5. 14:00

EditText 여러개를 사용할때 다음 EditText로 전환하려면 setOnKeyListner에서 requestFocus를 사용할 수도 있지만 더 간단하게 해결하는법이 있습니다.

 

 

EditText 속성으로 inputType을 추가해줍니다.

// activity_menu.xml

<EditText
        android:inputType="text"
        android:layout_margin="20dp"
        android:id="@+id/name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/text1"
        android:hint="이름" />

 

 

우측 하단의 엔터키를 보면 다음 칸으로 이동한다는 것을 알 수 있습니다.

 

 

 

마지막 칸이면 체크 표시가 되어있습니다.

 

 

 

마지막 칸에서 엔터를 누르면 버튼이 동작하도록 하려면 setOnKeyListener를 사용합니다.

 

editbirth.setOnKeyListener(new View.OnKeyListener(){
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                if ((event.getAction() == KeyEvent.ACTION_DOWN) && keyCode == KeyEvent.KEYCODE_ENTER){
                    mybutton.performClick();
                    return true
                }

                return false;
            }
        });

ACTION_DOWN = 키를 누를때, ACTION_UP = 키를 뗄때

마지막 EditText에서 엔터 키를 누르면 performClick 함수가 동작하면서 button이 눌린것 처럼 동작합니다.

 

 

 

Comments