当前位置: 代码迷 >> 综合 >> fragment 调用 activity中的方法
  详细解决方案

fragment 调用 activity中的方法

热度:24   发布时间:2023-12-02 10:13:33.0

首先需要在 fragment 的onAttach 方法中获取activity

override fun onAttach(context: Context) {super.onAttach(context)if (context is AnchorSeatLiveActivity ){var anchorSeatLiveActivity=context as AnchorSeatLiveActivity;anchorSeatLiveActivity.setMiediaStateChangeListener(this)}
}

之后在activity中设置listener 

 

private lateinit var onStateChangeListener: OnStateChangeListenerfun setMiediaStateChangeListener(changeListener: OnStateChangeListener) {onStateChangeListener = changeListener
}interface OnStateChangeListener {fun onStateChanged(data: ArrayList<SeatListBean>)
}

最后在fragment中实现接口 调用

override fun onStateChanged(data: ArrayList<SeatListBean>) {audienceListAdapter?.setData(data)audienceListAdapter?.notifyDataSetChanged()
}
  相关解决方案