在ViewPager中带视频的WebView即使在水平滚动后仍可继续播放音频

Log*_*gic 3 android android-webview android-viewpager

我有一个ActivityViewPager含有WebView具有TextVideo。当我播放视频并按回时,音频仍在播放。然后我做了

@Override
public void onPause() {
    super.onPause();
    if(webView != null) {
        webView.onPause();
    }
}

@Override
public void onResume() {
    super.onResume();
    if (webView != null) {
        webView.onResume();
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我在ViewPager新的url内容中滑动到下一个内容时,正在加载,WebView但仍在播放前一个内容的音频WebView。有人知道这个问题的解决方案吗?

编辑:

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
    if (webView != null) {
        if (isVisibleToUser) {
            webView.reload();
        } else {
            webView.onPause();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Ani*_*rma 5

该片段的onPause()不会被调用,因为该片段不会在视图分页器中被破坏/暂停(除非它超出屏幕外限制),因此您必须检查该片段是否可见。

您可以通过以下方式进行:

public class MyFragment extends Fragment {
  @Override
  public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
    if (isVisibleToUser) {
//visible to user }

    else {  
//not visible

}
      }
    }
Run Code Online (Sandbox Code Playgroud)

然后对您的Webview执行所需的任何操作。