按Enter键将文本编辑到另一个?

时间:2013-08-25 01:58:38

标签: android android-edittext

我的应用程序中有两个编辑文本框,在第一个中输入值后我想按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;
    }
});}

2 个答案:

答案 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 />

我希望这有帮助,快乐的编码!