26

電話入力と文字列を非表示にする機能の両方を備えた Edittext を取得するにはどうすればよいですか。そんなこと知ってる

android:inputType="textPassword"

文字列を非表示にしますが、

android:inputType="phone"

ダイヤルパッド インターフェイスを起動します。

2つを組み合わせる方法は?

4

5 に答える 5

34

android:passwordは非推奨ですが、無視されるため、AFAIKが唯一の方法android:inputType="phone|textPassword"です...

<EditText
    android:id="@+id/EditText01"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:password="true"
    android:inputType="phone" />
于 2010-01-07T02:16:18.280 に答える
5

私はこれがあなたが望むものだと信じていますか?

android:inputType="numberPassword"

編集:質問の時点(2010年)では、これはAPIに含まれていなかった可能性がありますが、現在の開発では利用可能です。

于 2014-01-04T00:45:29.973 に答える
2

この問題に対する適切な解決策が見つかりませんでした。dtmilano の受け入れられたソリューションは完全には機能しません。EditText が横向きモードでフォーカスされていて、フル スクリーン キーボードがある場合、数字はマスクされずにクリア テキストで表示されます。

実際の TextView コードを調べるのにかなりの時間を費やしましたが、これが問題である理由は、InputType.TYPE_CLASS_TEXT に対して InputType を明示的にチェックしているためです。したがって、これらの境界内に他の InputType を含めると (TYPE_CLASS_TEXT と TYPE_MASK_CLASS で使用される範囲が最初のバイトだと思います)、マスキングが必要なパスワードとして認識されません。

私が言ったことはかなり混乱していることを知っています。実際のコードはもっと複雑です。正直なところ、私は TextView のコードにかなり愕然としました。ハードコーディングされたチェックがいたるところにあり、ごちゃごちゃしています。このような問題につながる恐ろしいコーディング慣行。

于 2011-05-26T23:30:27.343 に答える
1

この問題は deprecated を使用しなくても解決できますandroid:passwordここで私の答えを見てください。

于 2010-10-25T12:41:01.800 に答える
0

私はこれを試していませんが、次のように2つを組み合わせることができるかもしれません:

android:inputType="textPassword|phone"

inputType複数の値を取ることができるので。

于 2010-01-07T02:08:04.113 に答える