当我将它输入为“ 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 "";
}
}
});
但是请彻底测试!