EditText上的Android键盘下一个按钮问题

UMA*_*MAR 59 android android-edittext

我正面临一个问题,我在活动上有用户名和密码字段,现在当我点击用户名键盘时出现但没有下一个按钮,我无法通过键盘移动到下一个Edittext控件,在这种情况下,键盘显示输入按钮作为附在屏幕截图中,增加其高度,

任何人都可以指导我这个问题的解决方案是什么(在edittext上显示下一个按钮)?

在此输入图像描述

我的守则

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

        txtUserid.setNextFocusDownId(R.id.txtPassword);
        txtUserPasword.setNextFocusDownId(R.id.btnLogin);
Run Code Online (Sandbox Code Playgroud)

nij*_*jas 104

添加 android:singleLine="true" android:nextFocusDown="@+id/textView2" 你的xml.将显示Next键并将焦点转移到下一个字段.

  • 这对我有用,虽然重要的是要注意,如果你设置android:imeOptions ="actionNext",那么它将覆盖此答案中提到的属性 (3认同)
  • 当我摆脱`android:imeOptions ="actionNext"`时,它对我有用 (3认同)
  • 如果你使用android:singleLine ="true"意味着,它本身足以看到键盘上的"下一步"按钮 (2认同)

小智 52

在您的布局中,只需android:imeOptions="actionNext"为前三个文本框和android:imeOptions="actionDone"最后一个文本框设置XML属性.

更多例子

  • 我在edittext上使用它,但我不知道为什么它不起作用.:( (2认同)

Hir*_*ral 37

在您提供的代码行下方添加以下行:

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;
    }
});
Run Code Online (Sandbox Code Playgroud)


SER*_*PRO 8

如果您的EditText应该只有1行,请android:singleLine="true"在XML上添加该属性,这将删除Enter键并将其替换为Next/Done按钮.


小智 7

另一个最佳解决方案是:

android:singleLine="true" 
android:imeOptions="actionNext"
Run Code Online (Sandbox Code Playgroud)


Kun*_*iya 5

添加您的 xml 布局,

假设你想要 4 个编辑文本,所以你在下面设置前三个编辑文本,

android:imeOptions="actionNext"
Run Code Online (Sandbox Code Playgroud)

和最后一个你设置的editext

android:imeOptions="actionDone"
Run Code Online (Sandbox Code Playgroud)

你添加行所以添加,使用

  android:singleLine="true" 
Run Code Online (Sandbox Code Playgroud)