Как получить Предмет из POJO в listview onClick ()? - PullRequest
0 голосов
/ 07 апреля 2019

У меня есть POJO, который описывает некоторую модель (Item?) И некоторый пользовательский адаптер.

Я устанавливаю свой адаптер для ListView, а затем в onItemClick () я хочу получить значение одной из переменныхкоторый я добавил в пункт.

Как мне этого достичь?

В своем коде я делаю что-то вроде:

private List<SomeItem> items = new ArrayList();
items.add(new SomeItem(firstValueString, secondValueBitmap, thirdValueString));
SomeAdapter adapter = new SomeAdapter(this, R.layout.list_item, items);
listView.setAdapter(adapter);
listView.setOnItemClickListener(
...
@Override
public void onItemClick(){
//How to reach for example firstValueString value of currently clicked item??
}
)

Ответы [ 2 ]

0 голосов
/ 07 апреля 2019

На основе документации Android SDK:

Реализаторы могут вызывать getItemAtPosition (position), если им требуется доступ к данным, связанным с выбранным элементом.

Если вы полностью внедрите свой адаптер, вы можете получить элемент, подобный приведенному ниже:

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        Item item = (Item)parent.getItemAtPosition(position);
    }
}); 
0 голосов
/ 07 апреля 2019

Использование android.widget.AdapterView.OnItemClickListener:

 listView.setOnItemClickListener(new OnItemClickListener() {
      public void onItemClick(AdapterView<?> parent, View view,
          int position, long id) {
        Log.d(LOG_TAG, "itemClick: position = " + position + ", id = "
            + id);
        SomeItem item = items.get(position); // specific item
      }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...