我在代码中创建动态布局。我的UI有多行,这些行是在运行时动态创建的。每行包含单个编辑文本。我创建了单个编辑文本对象,并使用此对象添加多行。
让我们假设有5行,所以有5个编辑文本。用户可以在任何edittext中输入/删除数字。根据用户在相应edittexts中输入的内容,我想更新标签。标签应包含所有edittext值的添加。
我在编辑文本afterTextChanged回调方法时调用了以下函数。
private void refreshTotalNumberOfDays(Editable editable){
if(!(editable.length()==0)){
totalDays = Integer.parseInt(editable.toString());
}
finalTotalDays =totalDays+finalTotalDays;
ftotalNumberOfDays.setText(String.valueOf(finalTotalDays));
}
但它没有正确添加值。
答案 0 :(得分:0)
您需要更改为:
totalDays = Integer.parseInt(editable.getText().toString());
它应该给你正确的整数值。
要总计所有这些,请保留所有editTexts的数组。
创建活动时创建数组
ArrayList<EditText> editTextArrayList = new ArrayList<EditText>();
editTextArrayList.add(editText1);
editTextArrayList.add(editText2);
...
然后在你的回调方法中,将它们全部加起来:
int total = 0;
for (EditText editText:editTextArrayList) {
total += Integer.parseInt(editText.getText().toString());
}