标签:android-viewholder android android-recyclerview listener
我有一个带有Adapter和LayoutManager的RecyclerView.适配器有大约15种不同的ViewHolders.其中一个包含加载外部内容的WebView(其中99%是YouTube以外的视频).
当任何适配器视图离开屏幕时出现问题 – WebView中的视频继续播放并且声音正在播放.不过,这对我来说是可以接受的.
当我转移到另一个Activity时,关键问题就开始了.视频的声音仍然存在.
当任何子视图更改可见性状态(意味着从显示中消失)时,RecyclerView是否有任何方式可以通知我?
解决方法:
要回应自己.最好的方法是将RecyclerView.OnChildAttachStateChangeListener添加到我的RecyclerView,然后在调用onChildViewDetachedFromWindow(View视图)时使用我的WebView处理事件.
例:
mRecyclerView.addOnChildAttachStateChangeListener(new RecyclerView.OnChildAttachStateChangeListener() {
@Override
public void onChildViewAttachedToWindow(View view) {
WebView webView = (WebView) view.findViewById(R.id.webview);
if (webView != null) {
webView.onResume();
}
}
@Override
public void onChildViewDetachedFromWindow(View view) {
WebView webView = (WebView) view.findViewById(R.id.webview);
if (webView != null) {
webView.onPause();
}
}
});
标签:android-viewholder,android,android-recyclerview,listener 来源: https://codeday.me/bug/20191004/1851812.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。