Android - 单个TableRow中的多个EditText

时间:2011-09-22 20:50:51

标签: android android-edittext tablerow

我在一个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>

2 个答案:

答案 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();