我需要控制按下的按钮,然后再转到我的EditText小部件。它应该像过滤器一样工作。 例如:我需要用户只能用数字1,2,3,4,5填充EditText,其他符号必须被忽略。因此,应该禁用虚拟键盘上的按钮部分,或者我需要捕获最后按下的符号,分析它并禁用EditText。
谁知道如何解决这个问题?
谢谢..
答案 0 :(得分:0)
statusEdt.addTextChangedListener(new TextWatcher(){
public void afterTextChanged(Editable s) {}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
public void onTextChanged(CharSequence s, int start, int before, int count) {
//do stuff
charTxt.setText(statusEdt.getText().length() + "/140");
}
});
我使用这个TextChangedListener(TextWatcher)来记录我为我的Twitter客户端输入EditText的字符数。你可以使用像这样的监听器。您将要覆盖beforeTextChanged或onTextChanged。无论CharSequence输入什么,这些方法都会通过你。您可以检查键入的内容以及它是否无效输入,您可以通过调用setText()并传入迄今为止输入的内容减去无效字符来删除它。
答案 1 :(得分:0)
您可能需要的是InputFilter。 例如,仅允许数字,符号和小数点:
editText.setFilters(DigistKeyListener.getInstance(true, true));