【发布时间】:2020-06-06 17:19:59
【问题描述】:
所以我有一个 Recyclerview 和多个视图。现在我的一个视图包含一个几乎没有动画的项目。现在,如果用户单击项目活动打开并且我无法控制活动,我知道的唯一方法是通过我的片段中的回调,即 onPause 和 onResume。一旦我的片段onResume() 被调用,我想调用animation.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,我不知道原因。如何通过我的适配器/片段在视图中调用我的方法?还有其他更好的方法吗?
【问题讨论】:
-
也许
onResume在onCreateViewHolder之前调用? -
@PavelPoley 我正在单击该视图持有者本身的项目。所以之后会调用 onResume
标签: android android-recyclerview android-viewholder