我有一个相当复杂(不是真的)的xml布局文件。其中一个视图是带有两个子项的LinearLayout(v1
):EditText(v2
)和另一个LinearLayout(v3
)。子LinearLayout又有一个EditText(v4
)和一个ImageView(v5
)。
对于EditText v2,我将imeOptions作为
android:imeOptions="actionNext"
但是当我运行该应用时,键盘的return
不会检查next
,我希望它更改为next
。我该如何解决这个问题?
此外,当用户点击下一步时,我希望焦点转到EditText v4。我这样做吗?
对于那些真正需要查看代码的人:
<LinearLayout
android:id="@+id/do_txt_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/col6"
android:orientation="vertical"
android:visibility="gone" >
<EditText
android:id="@+id/gm_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="@drawable/coldo_text"
android:hint="@string/enter_title"
android:maxLines="1"
android:imeOptions="actionNext"
android:padding="5dp"
android:textColor="pigc7"
android:textSize="ads2" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="100dp"
android:orientation="horizontal" >
<EditText
android:id="@+id/rev_text"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:layout_margin="5dp"
android:layout_weight="1"
android:background="@drawable/coldo_text"
android:hint="@string/enter_msg"
android:maxLines="2"
android:padding="5dp"
android:textColor="pigc7"
android:textSize="ads2" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:background="@drawable/colbtn_r”
android:clickable="true"
android:onClick=“clickAct”
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:src="@drawable/abcat” />
</LinearLayout>
</LinearLayout>
答案 0 :(得分:165)
只需将android:maxLines="1" & android:inputType="text"
添加到EditText即可。它会工作!! :)
答案 1 :(得分:47)
singleLine
已弃用。添加输入类型(例如:android:inputType="text"
)也对我有用。
使用android:maxLines="1"
,因为singleLine
已被弃用
答案 2 :(得分:37)
android:singleLine
已被弃用,最好将android:maxLines="1"
与android:inputType="text"
合并。这将是代码:
<EditText
android:id="@+id/editText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:inputType="text"
/>
答案 3 :(得分:9)
单行已弃用,因此您添加以下代码我认为inputType必须。
<EditText
android:inputType="text"
android:maxLines="1"
android:imeOptions="actionNext" />
答案 4 :(得分:8)
最后,我确定了解决这个问题的方法 只需在您的编辑文字中添加这些 3行即可正常使用
android:maxLines="1"
android:inputType="text"
android:imeOptions="actionDone"
您可以根据需要添加 maxLines 。 不使用 singleLine ,因为它现在已弃用。 祝你好运!
答案 5 :(得分:8)
这里给出的答案都非常有用,但我仍然在努力让键盘的“下一个”显示出来。
事实证明,当您在XML中使用Android的android:digits
属性时,会阻止android:imeOptions="actionNext"
按预期工作。
答案实际上是使用已弃用的android:singleLine="True"
。这似乎迫使IME选项得到尊重。
旧的,非工作代码
<android.support.design.widget.TextInputEditText
android:id="@+id/first_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ- "
android:ellipsize="end"
android:hint="@string/first_name"
android:imeOptions="actionNext"
android:inputType="textCapWords"
android:maxLength="35"
android:maxLines="1" />
工作代码
<android.support.design.widget.TextInputEditText
android:id="@+id/first_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ- "
android:ellipsize="end"
android:hint="@string/first_name"
android:imeOptions="actionNext"
android:inputType="textCapWords"
android:maxLength="35"
android:maxLines="1"
android:singleLine="true" />
我不喜欢使用不推荐使用的属性,但是现在它似乎得到了理想的结果。
答案 6 :(得分:7)
android:inputType="text"
您必须指定一个inputType才能使imeOptions正常运行。
答案 7 :(得分:6)
这三行就足够了。
android:singleLine="true"
android:inputType="text"
android:imeOptions="actionNext"
答案 8 :(得分:5)
下面的代码是强制的
android:inputType="text"
答案 9 :(得分:3)
这里的关键是设置输入类型和imeOptions属性
<EditText
android:inputType="number"
android:maxLines="1"
android:imeOptions="actionSearch" />
答案 10 :(得分:1)
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/auth_register_re_password"
android:hint="Enter Password Again"
android:imeActionLabel="login"
android:gravity="center"
android:imeOptions="actionUnspecified"
android:inputType="textPassword"
android:maxLines="1"
/>
答案 11 :(得分:0)
这仅对我有用。
更改它:
android:maxLines="1"
android:inputType="text"
android:imeOptions="actionNext"
对此:
android:singleLine="true"
android:inputType="text"
android:imeOptions="actionNext"