Setting EditText imeOptions to actionNext has no e

2019-01-17 13:30发布

I have a fairly complex (not really) xml layout file. One of the views is a LinearLayout (v1) with two children: an EditText(v2) and another LinearLayout(v3). The child LinearLayout in turn has an EditText(v4) and an ImageView(v5).

For EditText v2 I have imeOptions as

android:imeOptions="actionNext"

But when I run the app, the keyboard's return does not check to next and I want it to change to next. How do I fix this problem?

Also, when user clicks next, I want focus to go to EditText v4. I do I do this?

For those who really need to see some code:

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

10条回答
Melony?
2楼-- · 2019-01-17 14:25

singleLine is deprecated. Adding an input type (eg: android:inputType="text") also worked for me.

Use android:maxLines="1" as singleLine is deprecated

查看更多
倾城 Initia
3楼-- · 2019-01-17 14:26
android:inputType="text"

You have to specify an inputType in order for imeOptions to function.

查看更多
爷的心禁止访问
4楼-- · 2019-01-17 14:28

Key here is to set input type and imeOptions attributes

<EditText 
   android:inputType="number"
   android:maxLines="1"
   android:imeOptions="actionSearch" />
查看更多
Root(大扎)
5楼-- · 2019-01-17 14:28

Only this worked for me.

Change it:

android:maxLines="1"
android:inputType="text"
android:imeOptions="actionNext"

on that:

android:singleLine="true"
android:inputType="text"
android:imeOptions="actionNext"
查看更多
登录 后发表回答