我的应用程序中有两个编辑文本框,在第一个中输入值后我想按Enter键移动到下一个编辑文本框?这是我到目前为止所尝试的......
editText1.setOnKeyListener(new OnKeyListener(){
public boolean onKey(View v, int keyCode, KeyEvent event){
if((event.getAction()==KeyEvent.ACTION_DOWN)&&(keyCode==KeyEvent.KEYCODE_ENTER))
{
editText1.clearFocus();
editText2.requestFocus();
return true;
}
return false;
}
});}
答案 0 :(得分:1)
您是否在布局XML中添加了android:singleLine="true"
行EditText
?或者,您可以在代码中使用setSingleLine()进行设置。这会强制编辑文本只使用一行,当您按Enter键时,焦点将转到下一个EditText框。 @Scott在answer上查看此Handle enter key in EditText across different devices。
答案 1 :(得分:1)
您可以在EditText XML Layout中使用许多IME选项,并请求关注它。例如:
<EditText
android:id="@+id/EditText_Search"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:background="@drawable/custom_search_box"
android:freezesText="true"
android:gravity="center_horizontal"
android:hint="Enter information"
android:imeOptions="actionNext"
android:inputType="text"
android:padding="10dp"
android:saveEnabled="true"
android:scrollHorizontally="true"
android:textColor="@color/black" />
<requestFocus />
关键是android:imeOptions
设置为&#34; next&#34;。您可以将View
中的最终editText设置为android:imeOptions="done"
并对其执行操作,可能是登录等。最后是结束标记<requestFocus />
我希望这有帮助,快乐的编码!