programing tip

EditText의 Android 키보드 다음 버튼 문제

itbloger 2020. 12. 6. 21:15
반응형

EditText의 Android 키보드 다음 버튼 문제


문제가 발생했습니다. 활동에 사용자 이름 및 비밀번호 필드가 있습니다. 이제 사용자 이름 키보드를 클릭하면 표시되지만 다음 버튼이 표시되지 않고이 경우 키보드를 통해 다음 편집 텍스트 컨트롤로 이동할 수 없습니다.이 경우 키보드에 Enter 버튼이 표시됩니다. 높이를 높이는 스크린 샷에 첨부 된

누구든지이 문제에 대한 해결책이 무엇인지 안내 할 수 있습니까 (edittext에 다음 버튼 표시)?

여기에 이미지 설명 입력

내 코드

txtUserid = (EditText)findViewById(R.id.txtUserID);
        txtUserPasword = (EditText)findViewById(R.id.txtPassword);

        txtUserid.setNextFocusDownId(R.id.txtPassword);
        txtUserPasword.setNextFocusDownId(R.id.btnLogin);

제공 한 코드 줄 아래에 다음 줄을 추가하십시오.

txtUserid.setOnKeyListener(new OnKeyListener() {

    public boolean onKey(View v, int keyCode, KeyEvent event) {
          // If the event is a key-down event on the "enter" button
          if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
               (keyCode == KeyEvent.KEYCODE_ENTER))
          {
                // Perform action on Enter key press
                txtUserid.clearFocus();
                txtUserPasword.requestFocus();
                return true;
          }
          return false;
    }
});

txtUserPasword.setOnKeyListener(new OnKeyListener() {

    public boolean onKey(View v, int keyCode, KeyEvent event) {

          if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
                    (keyCode == KeyEvent.KEYCODE_ENTER))
          {
                 // Perform action on Enter key press
                 // check for username - password correctness here
                 return true;
          }
          return false;
    }
});

android:singleLine="true" android:nextFocusDown="@+id/textView2"XML에 추가 하십시오. 다음 키를 표시하고 다음 필드에 초점을 맞 춥니 다.


레이아웃에서 android:imeOptions="actionNext"처음 세 개의 텍스트 상자와 android:imeOptions="actionDone"마지막 텍스트 상자에 대한 XML 속성 설정하기 만하면됩니다 .

더 많은 예


귀하의 경우 글고 치기가 만 1 라인을 가지고있는 속성을 추가하도록되어 android:singleLine="true"당신의 XML에, 그 Enter 키를 제거하고 그것을 대체 할 다음 / 완료 버튼을 클릭합니다.


또 다른 최상의 솔루션은 다음과 같습니다.

android:singleLine="true" 
android:imeOptions="actionNext"

xml 레이아웃을 추가하십시오.

4 개의 edittext를 연속으로 원하므로 처음 세 개의 editext u가 아래에 설정되어 있다고 가정합니다.

android:imeOptions="actionNext"

그리고 마지막 하나의 editext u set

android:imeOptions="actionDone"

u 추가 라인 그래서 추가, 사용

  android:singleLine="true" 

이 속성을 사용하십시오.

android:inputType="textPersonName"

다음 몇 가지 사항을 처리해야합니다.

  1. 추가 android:singleLine="true".
  2. android:nextFocusDown="@+id/tv2"XML에 추가 하십시오.
  3. 추가하지 마십시오 android:imeOptions="actionNext". 그렇지 않으면 위의 두 속성이 재정의됩니다.

레이아웃 XML의 EditText 태그에 android : singleLine = "true"를 추가하기 만하면됩니다.


android : singleLine = "true"만 추가하면 해당 코드가 필요하지 않습니다.


더하다

android : inputType = "text"

edittext 태그의 줄. 문제가 해결됩니다.


android:singleLine="true" 더 이상 사용되지 않습니다

사용하다

 android:maxLines="1"
 android:inputType="text"

대신

참고 URL : https://stackoverflow.com/questions/9003166/android-keyboard-next-button-issue-on-edittext

반응형