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