如何在android中添加多个edittexts的值?

时间:2013-04-12 04:42:32

标签: android android-edittext

我在代码中创建动态布局。我的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));
}

但它没有正确添加值。

1 个答案:

答案 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());
}