В активити висит тулбар, фрагмент приаттачен к этой активити. Нужно при определенном действии во фрагменте менять текст на тулбаре. Я могу использовать подобную конструкцию:
(activity as MainActivity).changeText()
Но верно ли так поступать, обращаться напрямую к активити и делать в ней методы паблик? Если это плохо, то что можно использовать вместо этого?
Поскольку тулбар живёт в активити, то всё равно придется обращаться к активити. Чтобы не привязываться к конкретной активити, можно объявить интерфейс для работы с тулбаром. Имплементить его в активити и кастить, где нужно, например так: activity as ActivityToolbarContract.
воот, спасибо, я начинал делать что-то подобное, но не дошел до каста
Здесь есть ещё один полезный момент. Если активити не имплементит этот интерфейс, значит, оно не хочет, чтобы мы работали с его тулбаром извне ибо нефиг 😏
Обсуждают сегодня