Android - 单个 TableRow 中的多个 EditText

发布于 2024-12-06 05:02:12 字数 4538 浏览 1 评论 0原文

我在一个 TableLayout>TableRow 中有两个 EditText 控件。我有另一个具有单个 EditText 控件的 TableLayout>TableRow。当我从第一个 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>

I have two EditText controls in one TableLayout>TableRow. I have another TableLayout>TableRow that has a single EditText control. When I hit "Enter" or "Next" from the first EditText field, the focus goes to the next table/row instead of the EditText field in the same TableRow. I've searched, but haven't had any luck finding an answer to this. How can I make the focus go to the next EditText field, instead of the EditText field in the next table?

            <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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

意中人 2024-12-13 05:02:12

如果您需要焦点以精确的顺​​序从一个项目移动到另一个项目,您需要在布局文件中指定。

请参阅:http://developer.android.com/guide/主题/ui/ui-events.html#HandlingFocus

android:nextFocusDown="@+id/YourNextEditText"

If you need the focus to move from item to item in an exact order you need to specify that in the layout file.

See this: http://developer.android.com/guide/topics/ui/ui-events.html#HandlingFocus

android:nextFocusDown="@+id/YourNextEditText"
猫腻 2024-12-13 05:02:12

手动执行...:P

放置一个事件,该事件在第一个 edittext 失去焦点时触发,在该事件中使用 edittext.requestFocus() 函数将焦点设置到第二个 edittext。

使用此事件进行焦点输入/输出:
editText.setOnFocusChangeListener();

do it manually...:P

place an event which triggers when first edittext loses focus, in that event set focus to second edittext by using edittext.requestFocus() function.

use this event for focus in/out:
editText.setOnFocusChangeListener();

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文