在键入 EditText 时刷新 TextView
Refresh TextView while typing a EditText
我正在构建一个结帐 activity,用户在一个或多个 EditText 中输入值(数字)。在 activity 的底部,我需要用所有 EditText 的总和来更新总值。
我试过像这样使用 TextWatcher:
@Override
public void afterTextChanged(final Editable arg0) {
if(!arg0.toString().equals(current)){
String bottom_value = total_value.getText().toString();
String number_total = bottom_value.replaceAll("[^0-9]", "");//remove $
String value_arg = arg0.toString();
String number_arg = value_arg.replaceAll("[^0-9]", "");//remove $
int final_int = Integer.parseInt(number_arg)+ Integer.parseInt(number_total);
total_value.setText(Integer.toString(final_int));
}
}
但问题是当用户键入超过 1 个时 number.If 你键入的是 1 而不是 2,最终值需要是 12 但我的代码是 3(1 和 2 的总和)。
对不起我的英语,如果你不明白什么评论,我可以解释得更好。
是我的应用程序的示例。
替换这个
int final_int = Integer.parseInt(number_arg)+ Integer.parseInt(number_total);
由此
int final_int = Integer.parseInt(number_arg+number_total);
我正在构建一个结帐 activity,用户在一个或多个 EditText 中输入值(数字)。在 activity 的底部,我需要用所有 EditText 的总和来更新总值。
我试过像这样使用 TextWatcher:
@Override
public void afterTextChanged(final Editable arg0) {
if(!arg0.toString().equals(current)){
String bottom_value = total_value.getText().toString();
String number_total = bottom_value.replaceAll("[^0-9]", "");//remove $
String value_arg = arg0.toString();
String number_arg = value_arg.replaceAll("[^0-9]", "");//remove $
int final_int = Integer.parseInt(number_arg)+ Integer.parseInt(number_total);
total_value.setText(Integer.toString(final_int));
}
}
但问题是当用户键入超过 1 个时 number.If 你键入的是 1 而不是 2,最终值需要是 12 但我的代码是 3(1 和 2 的总和)。
对不起我的英语,如果你不明白什么评论,我可以解释得更好。
替换这个
int final_int = Integer.parseInt(number_arg)+ Integer.parseInt(number_total);
由此
int final_int = Integer.parseInt(number_arg+number_total);