设置为Android 4.0时,Eclipse无法识别numberPassword吗?

当我将它输入为“ 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 "";
        }
    }
});

但是请彻底测试!

上一篇:android-textview中的多个clickspan


下一篇:我如何设置autoLink =“ web”链接的样式?