Страницы

Поиск по вопросам

четверг, 16 мая 2019 г.

Изъять данные при нажатии на ListView

Есть ListView, в него вложен layout. Получается список. По нажатию я могу изъять id, но как изъять оттуда данные, которые записанные в TextView?
listView.setOnItemLongClickListener (new AdapterView.OnItemLongClickListener () { @Override public boolean onItemLongClick(AdapterView parent, View view, int position, long id) { curItem = id; view. return false; } });


Ответ

В метод onItemLongClick()вам передается вторым параметром View view. Это view нажатого пункта ListView. Из него можно и получить TextView по id с помощью findViewById(id). Примерно вот так это будет выглядеть:
@Override public boolean onItemLongClick(AdapterView adapterView, View view, int position, long arg3){ TextView textView = (TextView) view.findViewById(R.id.idВашегоTextView); }
А затем всё просто: textView.getText().toString();
Так же у адаптера есть метод getItem(position), который вернет по позиции данные текущего айтема. Этот способ наиболее эффективен.

Комментариев нет:

Отправить комментарий