现在有10个EditText,如果我在任何一个edittext中更改其添加总数并显示 TextView的
但我如何使用更少的代码
或者我使用所有EditText的所有EditText Onchange事件
我尝试使用TextWatcher观看所有编辑文本但我如何获得所有edittext
private TextWatcher filterTextWatcher = new TextWatcher() {
public void afterTextChanged(Editable s) {
//Do your stuff
String text;
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// do your stuff
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// do your stuff
}
};
plz help
答案 0 :(得分:1)
一种简单的方法是获取包含所有EditTexts的父视图组,遍历其子项,并执行任何操作:
ViewGroup editTextsContainer = (ViewGroup) findViewById(R.id.editTexts_container);
int sum = 0;
int i = edtTextsContainer.getChildCount();
for(int j=0;j<i;j++) {
View child = editTextsContainer.getChildAt(i);
if(child instanceof EditText) {
sum += Integer.parseInt((EditText)child).getText());
// handle cases where edittext text is not numbers, or set the inputType in xml to avoid
}
}
myTextView.setText(""+sum);
代码未经过测试,只是给你粗略的想法。