其他分享
首页 > 其他分享> > android – RecyclerView – 当视图不再可见时回调

android – RecyclerView – 当视图不再可见时回调

作者:互联网

我有一个带有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