我有这个Table布局,包含3个EditText字段&一个执行计算的按钮。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/lbl_fuel_order"
android:textSize="18dp"
android:gravity="center_horizontal"/>
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:stretchColumns="*">
<TableRow>
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="@string/lbl_arr_kgs"
android:textSize="12dp"
android:layout_weight="1"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="@string/lbl_sg"
android:textSize="12dp"
android:layout_weight="1"/>
</TableRow>
<TableRow>
<EditText
android:id="@+id/arr_fuel"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:lines="1"
android:inputType="number"
android:imeOptions="actionNext"/>
<EditText
android:id="@+id/sg"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:lines="1"
android:inputType="numberDecimal"
android:imeOptions="actionNext"/>
</TableRow>
<TableRow>
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="@string/lbl_req_tanks_kgs"
android:textSize="12dp"
android:layout_weight="1"/>
</TableRow>
<TableRow>
<EditText
android:id="@+id/req_tanks_fuel"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:lines="1"
android:inputType="number"
android:imeOptions="actionNext"/>
<Button
android:id="@+id/btn_calc_fuel_order"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/lbl_calc"/>
</TableRow>
<TableRow>
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="@string/lbl_uplift_kgs"
android:textSize="12dp"
android:layout_weight="1"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="@string/lbl_uplift_l"
android:textSize="12dp"
android:layout_weight="1"/>
</TableRow>
<TableRow>
<TextView
android:id="@+id/req_weight"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="left"
android:lines="1"
android:text="000000"
android:textSize="24dp"
android:textColor="#ff0000"/>
<TextView
android:id="@+id/req_volume"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="left"
android:lines="1"
android:text="111111"
android:textSize="24dp"
android:textColor="#00ff00"/>
</TableRow>
</TableLayout>
</LinearLayout>
表格布局顶行的左侧EditText在活动开始时具有焦点。但是,当我在软键盘上单击下一步时,光标移动到底行的左侧EditText而不是右侧的EditText(在顶行)。我已经测试了右上角的EditText,它将光标发送到底行的左侧EditText,如我所愿。
有没有办法让光标从右上角的左侧EditText开始向右移动那么从那里到底行的左手EditText?
如果可以,我还可以安排它将焦点移到底行右侧的按钮吗?
由于
答案 0 :(得分:2)
试试这个......
TextView nextField = (TextView)currentField.focusSearch(View.FOCUS_RIGHT);
nextField.requestFocus();
当您按下软键盘上的NEXT按钮时,Android会搜索最近的可用NEXT文本字段以移动焦点。您可以指定应该说服搜索的方向。您还可以阅读 IME(Input Method Editors) options
答案 1 :(得分:0)
只需添加android:singleLine =&#34; true&#34;到您的EditText。它会工作!! :)
答案 2 :(得分:0)
将 android:lines="1"
添加到 EditText
对我有帮助。
android:singleLine="true"
,作为另一个建议的答案,自 API 级别 15 起已弃用。