aprenoir
@aprenoir
программный архитектор

Как передать id поста из ListView в другую активити?

Есть ListView в котором через REST загружается краткое описание постов. При клике на элементе списка вызывается второе активити, которое запрашивает у сервера расширенные данные по публикации и выводит их пользователю.

С самой передачей параметра post_id разобрался. В ListView повесил на элементы списка обработчик:

lv_posts.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        Intent intent = new Intent(Main.this, PostDetails.class);
        intent.putExtra("post_id", "61509");
        startActivity(intent);
    }
});


Во втором активити получаю данные так:

Intent intent = getIntent();
post_id = intent.getStringExtra("post_id");


Вопрос в том, как post_id из первого запроса (список постов) привязать к элементам ListView и как потом их вытащить из нужного элемента и передать в putExtra (вместо значения "61509" должно быть post_id конкретного поста).
  • Вопрос задан
  • 328 просмотров
Решения вопроса 1
@mr_serg77
Используйте RecyclerView (внутри ViewHolder реализуете и при биндинге вью - ставите идентификатор), идентификаторы можно как в классе Model реализовать, так и через .setTag("your_tag");
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
mmmaaak
@mmmaaak
Обычно создают специальный класс, называют ViewHolder, который потом с помощью setTag() можно сохранить в конкретном ListViewItem свой экземпляр ViewHolder-а, с соответствующими данными, получить его можно из item-а с помощью getTag(), скастив к нужному классу ViewHolder
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы