かなり複雑な(実際にはない)xmlレイアウトファイルがあります。ビューの1つはLinearLayout(v1
)2つの子を持つ: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>
EditTextにAndroid:maxLines="1" & Android:inputType="text"
を追加するだけです。それが動作します!! :)
singleLine
は非推奨です。入力タイプの追加(例:Android:inputType="text"
)私のためにも働いた。
つかいます Android:maxLines="1"
as singleLine
は非推奨です
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"
/>
ここでの回答はすべて非常に役に立ちましたが、キーボードの「次へ」を表示するのに苦労していました。
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" />
非推奨の属性を使用することは好きではありませんが、現時点では望ましい結果が得られるようです。
単一行を非推奨にしたため、inputTypeが必要と思われるコードを以下に追加します。
<EditText
Android:inputType="text"
Android:maxLines="1"
Android:imeOptions="actionNext" />
最後に、私はこの問題の確実な解決策を持っています。編集テキストにこれらの行を追加するだけで、正常に動作します
Android:maxLines="1"
Android:inputType="text"
Android:imeOptions="actionDone"
ここで、要件に応じてmaxLinesを追加できます。 しない使用singleLine現在廃止されているため。幸運を!
Android:inputType="text"
ImeOptionsが機能するには、inputTypeを指定する必要があります。
ここで重要なのは、入力タイプとimeOptions属性を設定することです
<EditText
Android:inputType="number"
Android:maxLines="1"
Android:imeOptions="actionSearch" />
<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"
/>
これだけがうまくいきました。
それを変更:
Android:maxLines="1"
Android:inputType="text"
Android:imeOptions="actionNext"
その上:
Android:singleLine="true"
Android:inputType="text"
Android:imeOptions="actionNext"