@LilSem

Как открыть фрагмент из адаптера RecyclerView?

У меня есть адаптер, который заполняет RecyclerView. Прочитав форумы понял что обработчик нажатий необходимо сделать тоже в адаптере. Как открыть фрагмент по нажатию на элемент RecyclerView?

FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();


Вот это не работает? пишет cannot resolve method getFragmentManager()
  • Вопрос задан
  • 400 просмотров
Пригласить эксперта
Ответы на вопрос 1
zagayevskiy
@zagayevskiy Куратор тега Java
Android developer at Yandex
Адаптер отвечает за заполнение ресайклервью. Нужно создать интерфейс
interface ItemClickListener{
    void onItemClick(ItemType item);
}

ItemType - тип элемента, или, например, int - номер позиции.
Создать метод адаптеру setotemclicklistener(ItemClickListener listener), где запомнить листенер.
При нажатии на элементы - вызывать метод onItemClick с соответствующим параметром.
В месте создания адаптера (фрагменте, активити, etc) - создать листенер и передать его в адаптер. В коллбеке открывать нужный фрагмент.

>>пишет cannot resolve method
getFragmentManager()

Это потому, что у адаптера нет этого метода, он есть у активити, например.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы