Edd*_*e R 4 android android-edittext
关于我正在创建的Android应用:
我有三个EditText框需要填充数字/字符串.我有一个提交按钮,将启动一系列计算.
如果任何框为空并按下提交,则应用程序崩溃.我试过用try-catch语句做这个,但它没有用.我只想禁用按钮,直到三个盒子有数字.我知道有一种方法可以setEnabled(false)考虑吗?或者,还有更好的方法?按钮会灰显吗?或者这是setEnabled的无关功能?
试试这个解决方案
EditText edit1;
EditText edit2;
EditText edit3;
View button;
@Override
protected void onCreate(Bundle savedInstanceState) {
// Your initialization code...
TextWatcher watcher = new LocalTextWatcher();
edit1.addTextChangedListener(watcher);
edit2.addTextChangedListener(watcher);
edit3.addTextChangedListener(watcher);
updateButtonState();
}
void updateButtonState() {
boolean enabled = checkEditText(edit1)
&& checkEditText(edit2)
&& checkEditText(edit3);
button.setEnabled(enabled);
}
private boolean checkEditText(EditText edit) {
return Integer.getInteger(edit.getText().toString()) != null;
}
private class LocalTextWatcher implements TextWatcher {
public void afterTextChanged(Editable s) {
updateButtonState();
}
void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
void onTextChanged(CharSequence s, int start, int before, int count) {
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5041 次 |
| 最近记录: |