Я создаю список .. элементы списка взяты из базы данных sqlite .. Я заполняю список с помощью ArrayList и ArrayAdapter ... после нажатия на элементы в списке, я хочу иметь возможность запустить намерение, содержащее информация о предмете, по которому щелкнули ... информация, такая как порядковый номер элемента ..
с использованием метода:
onItemClick (AdapterView av, View v, int index, long arg)
Я получаю индекс предмета, по которому щелкнули. однако это список, который отображается в данный момент. проблема возникает, когда я делаю setFilterTextEnabled (true) и в типе приложения в некотором тексте, чтобы найти какой-либо элемент ... и затем щелкнуть его .. вместо того, чтобы дать мне индекс элемента в исходном списке, он дает мне индекс в отфильтрованном списке ..
следующий фрагмент кода:
myListView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> av, View v, int index, long arg) {
Intent lyricsViewIntent = new Intent(iginga.this, LyricsPage.class);
lyricsViewIntent.putExtra("title", songList.get((int)arg).getTitle());
lyricsViewIntent.putExtra("id", songList.get((int)arg).getSongId());
startActivity(lyricsViewIntent);
}
});
myListView.setTextFilterEnabled(true);
Есть ли способ получить исходный индекс / позицию элемента вместо того, который отображается в фильтрованном тексте ... при фильтрации.