好的,所以到目前为止我有这个代码:
final EditText textBox1 = (EditText) findViewById(R.id.editText);
textBox1.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
try {
avalue = (Integer.parseInt(textBox1.getText().toString()));
Toast.makeText(getApplicationContext(), "Works " + avalue, Toast.LENGTH_LONG).show();
UpdateMain();
} finally {
return;
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
这很好用,但我仍然希望在清空文本框时删除更新程序或删除文本框中的所有字符,因为默认情况下没有数字等于1.
答案 0 :(得分:0)
这对你有用吗?
final EditText textBox1 = (EditText) findViewById(R.id.editText);
textBox1.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
try {
avalue = 0;
if (s.length() > 0) {
avalue = Integer.parseInt(s.toString());
Toast.makeText(getApplicationContext(), "Works " + avalue, Toast.LENGTH_LONG).show();
}
UpdateMain();
} finally {
return;
}
}
});
注意:
afterTextChanged()
中,但如果更合适,可以将其放回onTextChanged()
。avalue
设置为0。您可以根据需要更改此逻辑。