Android 使用RecyclerView显示PublisherRadView
我需要在使用Android 使用RecyclerView显示PublisherRadView,android,admob,google-play-services,Android,Admob,Google Play Services,我需要在使用RecyclerView小部件构建的列表中显示一些带有PublisherView的横幅,我不知道如何将PublisherView生命周期映射到ViewHolder一个 PublisherAdView文档提到了三种生命周期方法: resume():在上次调用pause()后恢复PublisherView。应该在父活动的onResume()方法中调用此方法 pause():暂停与此publisherView关联的任何额外处理。应该在父活动的onPause()方法中调用此方法 destr
RecyclerView
小部件构建的列表中显示一些带有PublisherView
的横幅,我不知道如何将PublisherView
生命周期映射到ViewHolder
一个
PublisherAdView
文档提到了三种生命周期方法:
:在上次调用pause()后恢复PublisherView。应该在父活动的onResume()方法中调用此方法resume()
:暂停与此publisherView关联的任何额外处理。应该在父活动的onPause()方法中调用此方法pause()
:销毁发布视图。应该在父活动的onDestroy()方法中调用此方法。在调用destroy()之后,不应在PublisherAddressView上调用其他方法destroy()
ViewHolder
可以随时创建和销毁,并且其生命周期与活动无关。另外,我的RecyclerView
在片段中,后者有自己的生命周期
我的想法是:
- 调用
RecyclerView.Adapter.onViewAttachedToWindow()中的resume()
- 调用
RecyclerView.Adapter.onViewDetachedFromWindow()中的pause()
但我不确定如何正确调用.destroy()
有这方面的经验吗?有什么最佳实践吗?你找到这个问题的解决方案了吗?我完全按照我上面写的方式来做,它是如何工作的。@riccardocovati你把destroy叫做哪里?@q126y不幸的是,我不得不写一个变通办法:我把所有publisherView保存在一个WeakHashMap
创建的集中,然后我调用destroy()Fragment#onDestroyView中的
method
@MyDogTom好吧,片段生命周期与视图持有者生命周期不同。当片段处于活动状态时,包含PublisherdView的ViewHolder可以连接/分离多次,因此我认为暂停并相应地恢复它更安全。也就是说,我不能保证我的方法是最好的,但它已经在我们的高流量应用程序中实现了,并且工作没有缺点。