я хочу создать колбек Navigator и передать его всем свом фрагментам.
Как мне это сделать?
Через общую view model. Как в том примере. Никаких колбеков, только LiveData + observe.
А у Адаптера может быть lifecycleOwner? onClick listener с корутинами внутри? Может в активити (фрагменте) функцию выполнять. А ее передавать как параметр в адаптер?
Ок, спасибо как в колбек параметры передавать?Я же их в адаптере получаю
В адаптер принято передавать листенер, который дергают из onClick. Не следует прописывать логику кликов в адаптере. Это не его задача. Задача адаптера - показывать список и вызывать листенер на кликах.
Что, контекст передаем в адаптер? В этом нет необходимости. Контекст есть у parent.
Заработало,спасибо. Как мне теперь обратно во фрагменты закидывать элементы,так? Через bundle? launchFragment(FragmentEditTransaction.newInstance(jsonTransaction)); public static FragmentEditTransaction newInstance(String jsonTransaction) { FragmentEditTransaction fragment = new FragmentEditTransaction(); Bundle args = new Bundle(); args.putString("jsonTransaction",jsonTransaction); fragment.setArguments(args); return fragment; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (getArguments() != null) { Gson gson = new Gson(); jsonTransaction = (String) getArguments().getString("jsonTransaction"); transactionModel = gson.fromJson(jsonTransaction,TransactionModel.class); } }
https://t.me/android_ru/1322354
Хорошо, как посоветуете сделать, у меня есть две кнопки редактировать транзакцию и добавить транзакцию, действия между собой очень похожи. Как вы посоветуете реализовать логику. Создать абстрактный класс общими действиями у редактирования и удаления, а потом унаследовать два класса изменить транзакцию и удалить транзакцию, закинуть на эти классы колбеки с фрагмента и потом по завершению фрагмент уже решить что делать. Или по другому посоветуете сделать?
Я пока так реализовал как описал выше, но не знаю ил верно.
Обсуждают сегодня