我必须像这样不同的EditText:




EditText1的inputType为“ textCapWords”
EditText2的inputType为“数字”


启动活动时,我立即要求将重点放在EditText1上。这样做的唯一方法是将其添加到onCreate上:

getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
EDITTEXT1.requestFocus();


当用户在其软键盘上单击“返回”时,我希望EDITTEXT2获得焦点。所以我添加了这个:

EDITTEXT1.setOnKeyListener(new OnKeyListener() {
    public boolean onKey(View v, int keyCode, KeyEvent event) {
        if (keyCode == 66) { // CODE FOR RETURN
            EDITTEXT2.requestFocus();
        }
        return false;
    }
});


但是当我这样做时,什么也没发生。我所有的EditText都设置了FocusableInTouchMode和Focusable:

<EditText
    android:id="@+id/EDITTEXT1"
    android:layout_width="0dip"
    android:layout_height="20dip"
    android:layout_weight="2"
    android:background="@color/White"
    android:ems="10"
    android:hint="My First EditText"
    android:inputType="textCapWords"
    android:padding="2dip"
    android:singleLine="true"
    android:textColor="@color/Black"
    android:textSize="12dip" >
    <requestFocus />
</EditText>

<EditText
    android:id="@+id/EDITTEXT2"
    android:layout_width="0dip"
    android:layout_height="20dip"
    android:layout_weight="2"
    android:background="@color/White"
    android:ems="10"
    android:hint="My Second EditText"
    android:inputType="textCapWords"
    android:padding="2dip"
    android:singleLine="true"
    android:textColor="@color/Black"
    android:textSize="12dip" >
</EditText>


您对在EDITTEXT1上按OK后如何聚焦EDITTEXT2有任何想法吗?

提前致谢!

最佳答案

非常感谢您的回答。我终于找到了回答自己的问题的最简单方法:

添加:

android:nextFocusRight =“ @ + id / EDITTEXT2”

到EDITTEXT1的属性。

在EDITTEXT1上单击“ Enter”后,不需要其他任何内容即可转到EDITTEXT2。

10-07 16:20