0

基本上我们可以将 EditBox 设置为接受特定的数据类型,即 . android:InputType="number". 假设,如果我们用字母输入,那么字符将不会被添加到 EditBox 中,即不会发生任何动作。我想要的是必须显示定义“不允许使用字母”的 Toast。我可以尝试什么样的代码?

4

2 回答 2

3

EditText. 当有任何更改时,onTextChange将调用该方法。在那里你可以检查有效性。

例如

editText.addTextChangedListener(new TextWatcher() {
    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        // check vallidity if there is any alphabet show toast
    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        // TODO Auto-generated method stub
    }

    @Override
    public void afterTextChanged(Editable s) {
        // TODO Auto-generated method stub
    }
});

您也可以使用其他两种方法。我认为方法的名称清楚地说明了它们的目的

于 2013-04-24T15:34:14.463 回答
3

您需要实现自己的TextWatcher喜欢

mEditText.addTextChangedListener(new TextWatcher() {
    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        // check if the entered character is valid or not. If not valid, then show Toast
    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        // TODO Auto-generated method stub
    }

    @Override
    public void afterTextChanged(Editable s) {
        // 
    }
});
于 2013-04-24T15:34:23.510 回答