我想在用户点击0
时首次禁用软键盘上的EditText
个数字键。
EditText
有input type
number
,我必须输入一个十位数的电话号码,其中第一个数字不应为零。
请建议我如何实现这个目标?
答案 0 :(得分:2)
boolean changing = false;
EditText edit = (EditText)findViewById(R.id.medittext);
edit.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
if (!changing && edit.getText().toString().startsWith("0")){
changing = true;
edit.setText(edit.getText().toString().replace("0", ""));
}
changing = false;
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
});
答案 1 :(得分:0)
使用你的" 0"处理" onTextChanged" 。使用此代码:
if(arg0.length()>0){
if(arg0.charAt(0)=='0'){
your_edittext.setText("");
}
}
答案 2 :(得分:0)
EditText edit =(EditText)findViewById(R.id.medittext); edit.addTextChangedListener(new TextWatcher(){
@Override
public void afterTextChanged(Editable s) {
String input = editable.toString();
if (input.length() > 0 && input.charAt(0) == '0') {
editable.replace(0, 1, "");
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
});