Я хочу создать демонстрационное приложение, которое вычисляет приз контента в listview. Пользователь может установить количество в Edittext, из этого количества я хочу получить автоматическую сумму всех imtems. В настоящее время я использую setOnFocusChangeListener на Edittext.. но я не получил tatal. Пожалуйста, смотрите изображение...
Любое предложение?
Благодаря..
Вместо setOnFocusChangeListener
используйте для каждого EditText
addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
totalTextView.setText(getSumOfAll());
}
});
}
В EditText
вы можете добавить TextWatcher
с помощью addTextChangedListener(...)
.
Этот TextWatcher
изменит данные подчеркивания и вызовет onDataChanged()
на адаптере.
Используйте ListViews getChildCount()
и getChildAt(i)
чтобы получить ваши EditTexts, затем getText()
и суммировать их.
int count = listviewview.getChildCount();
int sum=0;
for (int i=0; i<count; i++) {
EditText t = (EditText)((YourLayout)view.getChildAt(i)).getChildAt(1); //1 will get your EditText from the Layout of the List Item because you have 3 children there.
sum+=Integer.parseInt(t.getText());
}
return sum*yourprice;
Надеюсь, поможет.
Вы можете установить TextWatcher на каждое текстовое изображение, а также на текст, изменивший метод, получить строку из каждого текста редактирования, разделить значение на целое и добавить к сумме.
Так как ваши строки идеально фиксированы (или нет), либо это не имеет значения. Все, что вам нужно сделать, это перебрать каждый элемент в вашем адаптере ListView, а затем захватить текст из каждого из них, а затем извлечь ваши данные. Затем следите за ним и обрабатывайте его, но вы хотите это сделать.