Установка тегов для каждого элемента в ListView в Android?

У меня есть ListView, где я хочу, чтобы к каждому элементу был прикреплен идентификационный номер (не такой же, как номер позиции) . Я надеялся, что это можно сделать, установив тег для каждого элемента представления в ListView с помощью setTag()при создании этих представлений.

Прямо сейчас я создаю ListView следующим образом:

    final ListView listview = (ListView) findViewById(R.id.listView1);
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, names);
    listview.setAdapter(adapter);

Переменная nameв приведенных выше параметрах ArrayAdapter является ArrayList, и каждое строковое значение в этом списке также имеет уникальный идентификатор, который мне нужен. как-то связать эту строку.

Можно ли каким-либо образом получить доступ и изменить каждое из представлений с помощью тега? Одна идея состояла в том, чтобы создать свой собственный расширенный класс ArrayAdapter и переопределить метод getView(), но я не очень понимаю, как он работает и как я буду это делать.

Или есть лучший способ связать идентификаторы с каждой строкой, как это, чем добавлять теги, как я пытаюсь сделать?

5
задан mattboy 17 May 2012 в 22:04
поделиться