我想控制Android Studio Java中通过EdiText
输入的文本,例如:
用户按下“ 1”时,EdiText
中会出现“ 10”
当用户按下'R'或其他EdiText
上有一定数量的字符时,则什么也没有发生(没有文本添加到EdiText
上)等等。
也许可以使用TextWatcher
,但是我也希望规则在使用Edittext.setText()
时不起作用。
答案 0 :(得分:2)
它不能由TextWatcher
完成,但可以由InputFilter
完成,请参见:
private InputFilter filter = new InputFilter() {
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
if (source != null && yourString.contains(("" + source))) {
return "";
}
return null;
}
};
在EditText
中使用此过滤器,例如:
editText.setFilters(new InputFilter[] { filter });
因此,您可以控制用户何时在EditText
中输入新字符。