在EditText上的Android键盘下一步button问题
我面临一个问题,我有活动的用户名和密码字段,现在当我点击用户名键盘出现,但没有下一个button,我不能移动到下一个Edittext控制通过键盘在这种情况下,键盘显示inputbutton作为附件在增加其高度的截图中,
任何人指导我什么是解决这个问题(显示edittext上的下一个button)?
任何帮助,将不胜感激
我的代码
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; } });
在您的xml中添加android:singleLine="true" android:nextFocusDown="@+id/textView2"
。 将显示下一个键,也将重点放在下一个字段。
在布局中,只需为前三个文本框设置XML属性android:imeOptions="actionNext"
,为最后一个设置android:imeOptions="actionDone"
。
更多的例子
如果您的EditText应该只有1行,请在您的XML中添加属性android:singleLine="true"
,这将删除Enter键并将其replace为Next / Donebutton。
使用这个属性:
android:inputType="textPersonName"
另一个最好的解决scheme是:
android:singleLine="true" android:imeOptions="next"
只需将android:singleLine =“true”添加到布局XML中的EditText标签即可
只需添加android:singleLine =“true”,你就不需要那个代码
添加你的XML布局,
假设你想要4个edittext在你的下面,
android:imeOptions="actionNext"
和最后一个editext你设置
android:imeOptions="actionDone"
你添加行添加,使用
android:singleLine="true"