Как получить данные представления строки в просмотре списка - PullRequest
1 голос
/ 21 сентября 2011

этот пример: http://saigeethamn.blogspot.com/2010/04/custom-listview-android-developer.html. В custom_row_view.xml есть 3 идентификатора textview. При использовании onListItemClick в одном элементе списка позиций находятся 3 строки данных. как извлечь эти данные? как использовать идентификатор? Во всяком случае, чтобы получить данные представления строки в представлении списка при нажатии элемента списка [protected void onListItemClick (ListView l, View v, int position, long id]?

Ответы [ 4 ]

5 голосов
/ 21 сентября 2011

Параметр View v сам по себе является представлением строки. Вы можете получить прикрепленные данные, позвонив по номеру v.getTag(). Следует установить его раньше в getView адаптера, используя v.setTag(Object)

0 голосов
/ 13 февраля 2015

Я бы хотел порекомендовать вам не получать данные из представления, вместо этого использовать ArrayList, который вы использовали для установки данных на адаптер ListView .

В примере, который вы указали, вы используете ArrayList из HashMap.Так для примера ..

listView.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        // arrayList is the variable which you have used as a list in your SimpleAdapter
        hashMap = arrayList.get((int)id); // you need to typecast 'id' from long to int
        value = hashMap.get(KEY);
    }
});
0 голосов
/ 21 сентября 2011
listView.getAdapter().getItemAt(position)

возвращает объект, связанный с представлением V

0 голосов
/ 21 сентября 2011

Зависит от вида данных.Например, id содержит _id из строки таблицы базы данных, которая была установлена ​​с помощью одного из CursorAdapters.Обычно это PK этой строки таблицы базы данных.

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