I'm trying to perform a real time calculation using two edit text and get the result in third edit text it is not calculating
e1 textchanger
@Override public void afterTextChanged(Editable s){
double e1=Double.parseDouble(et1.getText().toString().trim());
double e2=Double.parseDouble(et2.getText().toString().trim());
double e3=e1+e2;
et3.setText(String.valueOf(e3));
}
});
et2 textchanger
@Override
public void afterTextChanged(Editable s) {
double e1=Double.parseDouble(et1.getText().toString().trim());
double e2=Double.parseDouble(et2.getText().toString().trim());
double e3=e1+e2;
et3.setText(String.valueOf(e3));
}
});
et3 textchanger @Override public void afterTextChanged(Editable s){
double ans=(Double.parseDouble(et1.getText().toString().trim()))+(Double.parseDouble(et2.getText().toString().trim()));
et3.setText(String.valueOf(ans));
}
});
未计算编辑文本的值
甚至试图在et1和et2中使用文本观察器执行计算,但应用程序崩溃了
答案 0 :(得分:0)
将文本观察器添加到EditText1和EditText2。执行计算afterTextChanged
并将其值设置为第三个EditText。 注意:不要将textWatcher添加到结果EditText中。
答案 1 :(得分:0)
在每个textWatcher(et1和et2)中,您需要检查其他编辑文本的文本是否不为空。
最好同时检查两个观察者:
@Override
public void afterTextChanged(Editable s) {
if (et1.getText() != null && et2.getText() != null) {
double e1=Double.parseDouble(et1.getText().toString().trim());
double e2=Double.parseDouble(et2.getText().toString().trim());
double e3=e1+e2;
et3.setText(String.valueOf(e3));
}
}