我想在用戶點擊EditText
時首次禁用軟鍵盤上的數字0
鍵。第一次在軟鍵盤上禁用0鍵
EditText
有一個input type
number
我必須輸入一個十位電話號碼,其中第一個數字不應該爲零。
請問我該如何做到這一點?
我想在用戶點擊EditText
時首次禁用軟鍵盤上的數字0
鍵。第一次在軟鍵盤上禁用0鍵
EditText
有一個input type
number
我必須輸入一個十位電話號碼,其中第一個數字不應該爲零。
請問我該如何做到這一點?
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().startWith("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) {
}
});
Thanx很多它的工作! –
if if end爲什麼你設置change = false請問你能解釋一下嗎? –
'changing'標誌是爲了避免'if(...)block'在我們調用'edit.setText()'時再次處理。標誌會導致無限循環。 – datalost
可使用在 「onTextChanged」 你的 「0」 操作。使用此代碼:
if(arg0.length()>0){
if(arg0.charAt(0)=='0'){
your_edittext.setText("");
}
}
的EditText編輯=(EditText上)findViewById(R.id.medittext); edit.addTextChangedListener(新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) {
}
});
Y是一切以粗體順便說一句?反正,你可以找出天氣0點擊與否。因此,如果0 cliked然後不要做任何工作在那裏。 –
我不認爲你可以禁用0,但你可以檢查,如果第一個輸入是零設置編輯文本空白通過使用文本觀察器 – justDroid
你必須把驗證沒有限制,所以不要這樣做 –