web-dev-qa-db-ja.com

EditText imeOptionsをactionNextに設定しても効果はありません

かなり複雑な(実際にはない)xmlレイアウトファイルがあります。ビューの1つはLinearLayout(v1)2つの子を持つ:EditText(v2)および別のLinearLayout(v3)。子LinearLayoutには、EditText(v4)およびImageView(v5)。

EditText v2の場合、imeOptionsは

Android:imeOptions="actionNext"

しかし、アプリを実行すると、キーボードのreturnnextにチェックされず、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>
79
Katedral Pillon

EditTextにAndroid:maxLines="1" & Android:inputType="text"を追加するだけです。それが動作します!! :)

168
Surendra Kumar

singleLineは非推奨です。入力タイプの追加(例:Android:inputType="text")私のためにも働いた。

つかいます Android:maxLines="1" as singleLineは非推奨です

47
pratnala

Android:singleLineは非推奨になりました。Android:maxLines="1" with Android:inputType="text"。これはコードになります:

<EditText
        Android:id="@+id/editText"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content" 
        Android:maxLines="1"
        Android:inputType="text"
        />
39
voghDev

ここでの回答はすべて非常に役に立ちましたが、キーボードの「次へ」を表示するのに苦労していました。

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

非推奨の属性を使用することは好きではありませんが、現時点では望ましい結果が得られるようです。

13
welshk91

単一行を非推奨にしたため、inputTypeが必要と思われるコードを以下に追加します。

        <EditText 
            Android:inputType="text"
            Android:maxLines="1"
            Android:imeOptions="actionNext" />
10
influx

最後に、私はこの問題の確実な解決策を持っています。編集テキストにこれらのを追加するだけで、正常に動作します

        Android:maxLines="1"
        Android:inputType="text"
        Android:imeOptions="actionDone"

ここで、要件に応じてmaxLinesを追加できます。 しない使用singleLine現在廃止されているため。幸運を!

9
Ali Nawaz
Android:inputType="text"

ImeOptionsが機能するには、inputTypeを指定する必要があります。

7
paulb444

ここで重要なのは、入力タイプとimeOptions属性を設定することです

<EditText 
   Android:inputType="number"
   Android:maxLines="1"
   Android:imeOptions="actionSearch" />
4
pavan bangalala
<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"
             />
1
saigopi

これだけがうまくいきました。

それを変更:

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

その上:

Android:singleLine="true"
Android:inputType="text"
Android:imeOptions="actionNext"
0
Zakhar Rodionov