3

「numberPassword」としてフィールドに入力したときに、EclipseエディターがフィールドのinputTypeを認識しません。コードは次のとおりです。

<EditText
    android:id="@+id/pin_field"
    android:layout_width="236dp"
    android:layout_height="wrap_content"
    android:inputType="numberPassword">

    <requestFocus />
</EditText>

「android:inputType」行で発生するエラーは次のとおりです。

"error: Error: String types not allowed (at 'inputType' with value 'numberPassword')."

また、上部の[グラフィックレイアウト]タブで、バージョンを2.3.3からAndroid 4.0に変更しました。これを読んだところ、修正される可能性がありますが、機能していないようです。私はおそらく明らかな何かを見逃していますが、それを理解することはできません。

inputTypeと'numberPassword'のAndroidドキュメントは次のとおりです。http://developer.android.com/reference/android/R.attr.html#inputType

4

2 に答える 2

3
<EditText
    android:id="@+id/pin_field"
    android:layout_width="236dp"
    android:layout_height="wrap_content"
    android:inputType="number"
    android:password="true"
    <requestFocus />
</EditText>

コードの代わりに上記のコードを試してください

または、以下のコードで動的に設定できます

editText.setInputType( InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD);

更新::コードを介して、以下のように InputFilter を設定して、アルファベットまたは数字のみ、またはその両方を受け入れるようにします

edittext.setFilters(new InputFilter[] {
    new InputFilter() {
        public CharSequence filter(CharSequence src, int start,
                int end, Spanned dst, int dstart, int dend) {
            if(src.equals("")){ // for backspace
                return src;
            }
            if(src.toString().matches("[a-zA-Z0-9 ]+")){
                return src;
            }
            return "";
        }
    }
});

ただし、徹底的にテストしてください!

于 2012-04-28T04:32:59.990 に答える
1

Dispakeのコメントは、私が必要としていた手がかりを与えてくれました

「プロジェクトの Android ビルド ターゲットは 4.0 に設定されていますか?」

マニフェスト ファイルに API レベル 14 として minSdk がありました。これは 4.0 で正しいため、本当の問題を見つけることができませんでした。Eclipse でのプロジェクトのビルド ターゲットを 2.3.3 に設定しましたが、これを 4.0 に変更する必要がありました。

于 2013-05-21T14:32:36.810 に答える