2

Androidに電話パッドとキーパッドの両方を実装しようとしています。要件に従って、EditTextを選択すると、デフォルトの電話パッドが表示されます。ただし、ユーザーはアルファベットも入力できる必要があります。これを実装する方法を教えてください。

 <EditText
                android:id="@+id/editTextref1"
                android:layout_width="210dp"
                android:layout_height="45dp"
                android:layout_alignParentRight="true"
                android:layout_marginTop="10dp"
                android:ellipsize="start"
                android:hint="@string/custom1"
                android:imeOptions="actionNext|actionDone"
                 android:inputType="text"
                android:nextFocusDown="@+id/editTextref2"
                android:shadowDy="10"
                android:textColor="#383838"
                android:textSize="14sp"
                android:textStyle="bold"
                android:maxLength="15"
                android:typeface="serif" />
4

1 に答える 1

1

シンプルでエレガントな方法でそれを行うことは不可能であると仮定したいと思います。問題は、タイプを入力すると、文字も入力する必要があるため、タイプInputType.TYPE_CLASS_TEXTを変更できないことです。InputType.TYPE_CLASS_NUMBER

問題は、inputメソッドが入力のタイプをチェックし、フィールド入力タイプのタイプに応じて数字またはアルファベットの適切なキーボードを提供することです。入力メソッドにテンキーを指定するように要求EditTextし、フォーカスがある場合、コード内で入力メソッドを強制的にアルファベットキーボードに切り替えることはできません。私は間違っているかもしれませんが、これは私が思うことです。

問題は、テキストの編集中に別のキーボードを提供するようにサードパーティの入力メソッドに依頼できるかどうかです。コードではこれを行うことはできないと思います。入力方法は、あなたに応じて数字またはアルファベットを提供しますEditTextが、入力方法は設計上の問題を認識していないため、動的に切り替えることはできません。これを行う唯一の方法は、数値キーボードとアルファベットキーボードを動的に切り替えることができる独自の入力メソッドを作成することです。

于 2013-01-14T12:34:59.253 に答える