Как получить значение TextView из позиции int в ListView? - PullRequest
0 голосов
/ 25 марта 2012

У меня есть Button, который при нажатии выполнит метод addQty, и в этом методе мне нужно установить значение TextView в той же строке, в которой была нажата Button. У меня есть целое число position, но я не могу понять, как получить TextView. У меня есть пользовательский ArrayAdapter, который устанавливает это в методе getView:

ImageButton plus = (ImageButton) v.findViewById(R.id.qtyPlus);
plus.setTag(position);

Мой макет затем делает следующее:

<ImageButton
   android:id="@+id/qtyPlus"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:src="@drawable/plus"
   android:onClick="addQty" />

Мой addQty метод:

public void addQty(View v) {
        int position = Integer.parseInt(v.getTag().toString());

        Item tmp = (Item)adapter.getItem(position);
        Log.d("MyApp",tmp.getName());

}

Это работает, так как я могу получить объект item выбранной строки в списке, но как мне теперь установить значение TextView в этой строке ListView?

1 Ответ

0 голосов
/ 25 марта 2012

Вы не устанавливаете новое значение TextView для этой строки списка напрямую, вместо этого вы обновляете элемент Item новым значением, а затем вызываете notifyDataSetChanged() (для объекта адаптера), чтобы уведомить адаптер о том, что вы что-то изменил и что должно обновить ListView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...