我想更新列表中的edittext值变更时的总金额。我已经尝试了几个事件,包括onfocuschanged listener和textchange listener.But没有完全满足我的需求。我不需要代码但是如果有人可以建议我有任何逻辑然后它会有所帮助。谢谢你
答案 0 :(得分:1)
您只需要 TextWatcher 来满足您的要求,我已经开发了这样的应用程序,我在其中提供相同的功能。
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
int pos = editQtyTag.position;
if (!s.toString().trim().equals("")) {
data.get(pos).setQuantiy(Integer.parseInt(s.toString()));
if (mListener instanceof Activity) {
((Activity) mListener).setReturnValue(
setAmt());
}
}
}
public float setAmt() {
float total = 0;
// iterate through the list and calculate the total amount
return total;
}
public void setReturnValue(float amt) {
mTxtAmt.setText(amt+"");
}
希望它会对你有所帮助。 :)
答案 1 :(得分:0)
您需要 TextChangedListener ,以便在列表中的edittext值更改时更改总计金额,如下所示。
editsearch = (EditText) findViewById(R.id.editSearch);
// Capture Text in EditText
editsearch.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
String charText = editsearch.getText().toString().toLowerCase(Locale.getDefault());
charText = charText.toLowerCase(Locale.getDefault());
// do stuff what you want with charText
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
}
});