键盘输入按钮后如何将控制从一个文本视图传递到另一个文本视图?

时间:2013-09-24 06:33:59

标签: android

在第一个textview中按下enter按钮后,我有两个textViews,光标应该转到第二个textview。怎么样?

    <AutoCompleteTextView
        android:id="@+id/txt_login_username"
        android:layout_width="300dp"
        android:layout_height="40dp"
        android:layout_above="@+id/pengala_logo"
        android:layout_alignLeft="@+id/txt_login_pwd"
        android:ems="10"
        android:hint="Please enter Email"
        android:inputType="textAutoComplete"
        android:textColorHint="#ffffff"
        android:textSize="20sp" />

    <requestFocus />

    <EditText
        android:id="@+id/txt_login_pwd"
        android:layout_width="300dp"
        android:layout_height="40dp"
        android:layout_alignLeft="@+id/btn_login_submit"
        android:layout_alignTop="@+id/text"
        android:ems="10"
        android:hint="Please enter Password"
        android:inputType="textPassword"
        android:textColorHint="#ffffff"
        android:textSize="20sp" />

4 个答案:

答案 0 :(得分:2)

试试这个,EditBoxrequestFocus()点击Button时可以使用{。}}。

EditText.requestFocus();

答案 1 :(得分:1)

查看this question,您只需使用 android:imeOptions="actionNext"上的txt_login_username选项可以更改“输入”键以转到“下一个”输入。您可能需要指定android:singleLine="true",因为这不适用于多行输入。

可以找到文档here

答案 2 :(得分:1)

我认为应该有效

EditText editText1=(EditText)findViewById(R.id.text1);
EditText editTtext2=(EditText)findViewById(R.id.text2);
        editText1.setOnKeyListener(new OnKeyListener() {

            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                if(event.getKeyCode() == KeyEvent.KEYCODE_ENTER){
                    editTtext2.requestFocus();
                }
                return true;
            }
        });

将editText1单行设为true。

答案 3 :(得分:0)

final EditText editText = (EditText) findViewById(R.id.editText1);

       editText.setOnKeyListener(new OnKeyListener() {

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

                  EditText editText2 = (EditText) findViewById(R.id.editText2);

                // TODO Auto-generated method stub
                if (keyCode == event.KEYCODE_A) {

                    Selection.setSelection((Editable) editText2.getText(),editText.getSelectionStart());
                    editText2.requestFocus();
                }

                return true;
            }
        });