Android studio 4.1.2 で開発しています。
EditText(number)を配置して数値を入力させたいのですが、inputTypeをnumberにするとソフトウェアキーボードから入力出来なくなります。
症状としては以下の通りです。
・フォーカスを合わせた際にnumber用の数字キーボードは表示されます。
・inputTypeがpersonNameのEditTextだと入力出来ます。
・エミュレーターでも実機でも発生します。
・APIに関係なく発生します。
・コードでinputTypeを指定した場合でも発生します。
対処方法をご存じの方いたらご教授ください。
xml
1 <EditText 2 android:id="@+id/edit" 3 android:layout_width="wrap_content" 4 android:layout_height="wrap_content" 5 android:digits="0123456789" 6 android:ems="10" 7 android:hint="number" 8 android:inputType="number" 9 android:autofillHints="" 10 tools:targetApi="o" />
>入力出来なくなります
とはどういう症状でしょうか。
ソフトウェアキーボードを押しても入力欄に表示されないのか、それとも、コード上で edit の View から入力を取り出すと空なのでしょうか。
おっしゃる通りソフトウェアキーボードを押しても入力欄に表示されません。
表示されていないだけ、というのを確認していなかったので試しにEditTextにgetTextしてみましたが空白でした。
テキトウなプロジェクトのレイアウトにご提示のものをいれてみましたが、表示されました。(エミュレータ)
それを貼り付けて実機 (Pixel 4a, Android 12) で動かしたら入力できましたけど…。
少し進展しました。
お二方のおっしゃる通り、そのレイアウトを普通にsetContentViewすると入力できました。
今回の場合ダイアログにEditTextを使っていて、そのパターンでは”number”は駄目でした。(”personName”は問題無し)
ダイアログには独自のthemeを使っているのでもしかすると、そのどれかに引っかかっている可能性がありそうです。
もう少し調べてみます。
解決しました。
setOnKeyListener を使っており、return にtrueを返していたのが原因でした。
お二方にはお手を煩わせてしまい申し訳ありませんでした。
回答1件
あなたの回答
tips
プレビュー