Why interf = (Fragmentinterface) context;необходимо преобразование активности в ссылку на интерфейс?
Поскольку мы хотим получить доступ только к методу определенного интерфейса, а не ко всем методам MainActivity
Почему это не так?настолько просто, что Mainactivity реализует интерфейс и вызывает интерфейсный метод с телом метода
interf
равным null
, сначала нам нужно его инициализировать, и здесь мы хотим передать данные в действие, а часто данные идут дальшеиспользуется другими методами действия, хотя вы можете использовать лямбда-выражения, анонимные классы в качестве параметра, но это должно быть сделано в рамках действия, Scope определяет границы, и один из способов общения - это открытые методы.
Примечание: вы можетевыполните приведение позже в других методах жизненного цикла, когда контекст будет готов к использованию, хотя onAttach является первым местом, где используется context
.