Итак, у меня есть Recyclerview и несколько пользователей. Теперь один из моих виджетов содержит элемент с несколькими анимациями. Теперь, если пользователь нажимает на элемент активности, открывается, и у меня нет контроля над действием, единственный способ, которым я узнал, - это обратный вызов в моем фрагменте, т.е. onPause & onResume. Я хочу позвонить animation.onResume()
, как только мой фрагмент onResume()
будет вызван.
Класс интерфейса
interface CustomTabClosedListener {
fun onCustomTabClosed()
}
Адаптер Соответствующий код:
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
lateinit var viewViewHolder: RecyclerView.ViewHolder
val layoutInflater = LayoutInflater.from(context)
val view = layoutInflater!!.inflate(R.layout.feed_coverage, parent, false)
viewViewHolder = CoverageViewHolder(view)
listener = viewViewHolder
}
, где слушатель private var listener: CustomTabClosedListener?=null
ViewHolder
class CoverageViewHolder(val view: View) :CustomTabClosedListener {
override fun onCustomTabClosed() {
animation?.resume()
Теперь мой фрагмент вызывает этот метод адаптера в onResume -
fun customTabClosed() {
listener?.onCustomTabClosed()
}
Но здесь мой слушатель получает null
, и я не знаю причину Почему. Как я могу вызвать мой метод в viewholder через мой адаптер / фрагмент? Есть ли другой лучший подход?