У меня есть настраиваемый адаптер, предоставляющий настраиваемые представления для списка (несколько полей и изображение). Я что-то изменил, и по какой-то причине мой метод родительского элемента clickListener.getItemAtPosition (position) всегда возвращает значение null. Не знаю, как внесенные мной изменения повлияли на этот эффект. При переходе через него он срабатывает правильно, но по какой-то причине значение всегда равно нулю. Вы что-нибудь видите?
ListView airportResults = (ListView) findViewById( R.id.listAirportResults );
List<SearchResultsItem> items = getSearchResults(searchTerm);
ResultsAdapter = new SearchResultsAdapter(this, items);
airportResults.setAdapter(ResultsAdapter);
Мой getSearchResults (searchTerm) возвращает элементы в списке со следующим типом:
List<SearchResultsItem>
Затем слушатель onclick:
airportResults.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long duration) {
String sClickedItem = (String) parent.getItemAtPosition(position);
//do something with sClickedItem
}
});
Из приведенного выше кода параметр position правильный (я нажимаю на первый элемент, position = 0; я нажимаю на 4-й элемент, position = 3 и т. Д.). Все родительские объекты и объекты просмотра имеют значения. Однако sClickedItem всегда имеет значение null.
Большое спасибо, J