我想知道如何阻止用户以编程方式将数字输入到我的编辑文本中,以便它具有与这样做类似的效果
android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ#$%......"
我看过edittext.setInputType(InputType.something)
但找不到阻止用户输入数字的输入类型。
有谁知道我如何通过输入类型或其他方法来做到这一点?
我想知道如何阻止用户以编程方式将数字输入到我的编辑文本中,以便它具有与这样做类似的效果
android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ#$%......"
我看过edittext.setInputType(InputType.something)
但找不到阻止用户输入数字的输入类型。
有谁知道我如何通过输入类型或其他方法来做到这一点?
InputFilter filter = new InputFilter() {
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
String output = "";
for (int i = start; i < end; i++) {
if (!Character.isDigit(source.charAt(i))) {
output += source.charAt(i);
}
}
return output;
}
};
edit.setFilters(new InputFilter[]{filter});
假设编辑是你的 EditText
根据http://developer.android.com/reference/android/widget/TextView.html#attr_android:inputType你可以使用
number - A numeric only field. Corresponds to TYPE_CLASS_NUMBER | TYPE_NUMBER_VARIATION_NORMAL.
你有没有尝试过:
edit.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_NORMAL);
pavki_a 的回答完美无缺,但是退格键和建议一词只有一些错误。我通过添加来修复这些:
edittext.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
如果您想自动更正,这可能是个问题,但对我来说效果很好