要限制 Android EditText 输入范围为数字,可以使用以下方法:
这将限制用户只能输入数字。
EditText editText = findViewById(R.id.editText);
editText.setInputType(InputType.TYPE_CLASS_NUMBER);
这将限制用户只能输入数字。
EditText editText = findViewById(R.id.editText);
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
String inputText = charSequence.toString();
String filteredText = inputText.replaceAll("[^\\d]", ""); // 过滤非数字字符
if (!inputText.equals(filteredText)) {
editText.setText(filteredText);
editText.setSelection(filteredText.length());
}
}
@Override
public void afterTextChanged(Editable editable) {
}
});
这将实时过滤用户输入的非数字字符。
请注意,以上方法可以单独使用,也可以组合使用。