我在一个TableLayout> TableRow中有两个EditText控件。我有另一个TableLayout> TableRow,它有一个EditText控件。当我从第一个EditText字段点击“Enter”或“Next”时,焦点将转到下一个表/行,而不是同一TableRow中的EditText字段。我已经搜索过,但没有找到任何答案。如何将焦点转到下一个EditText字段,而不是下一个表格中的EditText字段?
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_width="fill_parent">
<TableRow
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:text="State"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2sp"
android:layout_marginRight="47dp"
android:padding="3dp"
android:textColor="@color/white"
android:textStyle="normal"
android:textSize="12dp">
</TextView>
<EditText
android:layout_height="30sp"
android:id="@+id/addeditServeeDetail_StateTextBox"
android:layout_width="50dp"
android:singleLine="true"
android:textSize="10sp"
android:maxLength="2" android:imeOptions="actionNext">
</EditText>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:text="Zip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2sp"
android:layout_marginRight="5dp"
android:layout_marginLeft="20dp"
android:padding="3dp"
android:textColor="@color/white"
android:textStyle="normal"
android:textSize="12dp">
</TextView>
<EditText
android:layout_height="30sp"
android:id="@+id/addeditServeeDetail_ZipTextBox"
android:layout_width="100dp"
android:singleLine="true"
android:textSize="10sp"
android:maxLength="10">
</EditText>
</TableRow>
</TableLayout>
<TableLayout
android:orientation="vertical"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_width="fill_parent">
<TableRow
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="2dp"
android:paddingTop="3dp">
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:text="County"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2sp"
android:layout_marginRight="35dp"
android:padding="3dp"
android:textColor="@color/white"
android:textStyle="normal"
android:textSize="12dp">
</TextView>
<EditText
android:layout_height="30sp"
android:id="@+id/addeditServeeDetail_CountyTextBox"
android:layout_width="200dp"
android:singleLine="true"
android:textSize="10sp">
</EditText>
</TableRow>
</TableLayout>
答案 0 :(得分:3)
如果您需要将焦点按照确切的顺序从一个项目移动到另一个项目,则需要在布局文件中指定它。
请参阅:http://developer.android.com/guide/topics/ui/ui-events.html#HandlingFocus
android:nextFocusDown="@+id/YourNextEditText"
答案 1 :(得分:-1)
手动执行......:P
放置一个在第一个edittext失去焦点时触发的事件,在该事件中,使用edittext.requestFocus()函数将焦点设置为第二个edittext。
将此事件用于焦点输入/输出: editText.setOnFocusChangeListener();