当我将其输入为“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

最佳答案

<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 "";
        }
    }
});

但是请彻底测试!

10-07 19:21
查看更多