2013-04-12 5 views
1

Я создаю динамический макет в своем коде. Мой пользовательский интерфейс имеет несколько строк, которые динамически создаются во время выполнения. Каждая строка состоит из одного текста редактирования. Я создал единственный текстовый текстовый объект и использовал этот объект для добавления в несколько строк.Как добавить значения нескольких edittexts в android?

Предположим, что существует 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)); 
} 

Но это не означает правильное добавление значений.

+5

что у попробовали? отправьте некоторый код u попытался –

+1

Просьба обновить свой вопрос, а не добавлять его в комментарии. –

ответ

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()); 
} 
+0

Проблема заключается в том, что логика добавления работает только для одиночных цифр от 0 до 9. Если я введу два значения цифр, то добавление не работает. Также я не могу реализовать логику вычитания, когда пользователь удаляет номер из edittext. – Waugh

+1

Возможно, вы могли бы просто захватить все значения и повторно добавить их каждый раз, когда пользователь меняет какой-либо текст (вместо того, чтобы беспокоиться о вычитании) – HalR

+0

Я не уверен, почему у вас возникают проблемы с двумя цифрами. ftotalNumberOfDays.setText (String.valueOf (finalTotalDays)); является довольно стандартным фрагментом кода – HalR

Смежные вопросы