Size: a a a

Android Developers

2021 August 31

SM

Scrooge McDuck in Android Developers
Ах вот в чем дело, понял
источник

СП

Сергей П. in Android Developers
Но в целом да - не надо передавать ничего сспособного сдохнуть при повороте экрана в класс, способный этот поворот пережить
источник

СП

Сергей П. in Android Developers
Если никак иначе - можно накостылить проверки прочее, но способ нормальный есть всегда
источник

kg

kostig gig in Android Developers
Просто передавайте интерфейс и вызывайте его методы в удобный для вас момент, в фрагменте передайте этот интерфейс (в конструктор адаптера)
источник

SM

Scrooge McDuck in Android Developers
Просто для передачи интерфейса я всегда передаю сам фрагмент который имплементирует этот интерфейс.
источник

C

Chuck in Android Developers
источник

L

Leonid in Android Developers
Например потому, что это жёстко привязывает адаптер к конкретному активити или фрагменту. То есть, адаптер нельзя будет использовать в другом месте.


Кроме того, такая практика открывает окно опасных возможностей.

То есть, когда передали свой фрагмент, то это ещё терпимо (хотя все равно неправильно), потому что они с адаптером сдохнут одновременно.

Но тут же возникает искушение передать чужой фрагмент. И тогда начинается интересное.

В любом случае проблемы возникнут, если этот фрагмент из адаптера передать в какой-нибудь Handler, который продолжит жить после уничтожения фрагмента или активити.

В общем, не делайте так, это по-любому плохо 😏
источник

SM

Scrooge McDuck in Android Developers
Понял, спасибо, а как передавать интерфейс в таком случаи?
источник

kg

kostig gig in Android Developers
Анонимный класс или лямбду
источник

DB

Dmytro Borysov in Android Developers
так как ты и передал)
источник

SM

Scrooge McDuck in Android Developers
Но по сути я же передал фрагмент разве нет?
источник

L

Leonid in Android Developers
Как параметр с типом этого интерфейса.
источник

YS

Yoqub Sidiqov in Android Developers
getAll = object: Interface {}
источник

SM

Scrooge McDuck in Android Developers
Ааа, понял
источник

DB

Dmytro Borysov in Android Developers
да, но в адаптере это интерфейс, конечно каст сработает к фрагменту, но это уже другая история
источник

L

Leonid in Android Developers
Потому что необязательно фрагмент имплементирует интерфейс. Это кто угодно может делать.
источник

SM

Scrooge McDuck in Android Developers
Понятно, спасибо
источник

kg

kostig gig in Android Developers
В данном случае вы передаёт интерфейс, который реализует фрагмент и адаптер знает только о том, что вы передали ему интерфейс, который содержит в себе определённые методы и знает адаптер только о методах интерфейса, но не о методах фрагмента
источник

SM

Scrooge McDuck in Android Developers
Ok
источник

SE

Sergei Ermolaev 🥇 in Android Developers
Всем привет, кто-то работал с Bluetooth low energy?
Пытаюсь спариться с девайсом и на части девайсов диалог на сопряжение появляется два раза
Кто-то сталкивался?
источник