Когда вы создаете представление для каждой строки в вашем ListAdapter. Вы можете зарегистрировать OnClickListener, который будет вызываться, когда пользователь нажимает на строку.
View view = inflater.inflate(R.layout.favorite_row, null);
view.setOnClickListener( new View.OnClickListener() {
Override
public void onClick(View view) {
beverageSelected( ((FavoriteBeverageView)view.getTag()).getFavoriteBeverage() );
}
});
view.setTag( new FavoriteBeverageView( view ) );
Использование setTag и setId может помочь вам найти объект в вашем списке, который выбрал пользователь. Лично я думаю, что проще всего использовать setTag (), добавив специальный объект, содержащий элементы пользовательского интерфейса в строке списка (например, titleTextView, subtitleTextView, image и т. Д.), И добавить указатель на объект поддержки в этом специальном объекте.
В приведенном выше примере FavoriteBeverageView - это тот особый объект, а внутри него есть объект FavoriteBeverage, который представляет собой данные, которые поддерживают этот список. Таким образом, в OnClickListener можно легко вернуть FavoriteBeverage, просто выполнив ((FavoriteBeverageView) view.getTag ()). GetFavoriteBeverage ().