Webview inside a viewpager

Webview inside a viewpager

本文关键字:viewpager inside Webview      更新时间:2023-09-26

我有viewpager,里面有webview, webview有滑动功能当我滑动webview时它会改变整个viewpager,但我想如果webview中的滑动完成它会改变viewpager这里是mycode

寻呼机适配器

@Override
public int getCount() {
    return pageModels.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
    return view==object;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
    View view = LayoutInflater.from(context).inflate(R.layout.singlepage,container,false);
    webView = (WebView) view.findViewById(R.id.webview);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.setScrollContainer(true);
    webView.bringToFront();
    webView.getSettings().setUseWideViewPort(true);
    String readerContent = null;
    File f = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator+"check.html");
    Log.d("readerContent",readerContent);
    webView.loadUrl("http://192.168.0.108/book");
    webView.setWebViewClient(new WebViewClient());
    ((ViewPager) container).addView(view);
    return view;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
    ((ViewPager) container).removeView((View)object);
}
public String getString(InputStream i) throws IOException {
    ByteArrayOutputStream result = new ByteArrayOutputStream();
    byte[] buffer = new byte[1024];
    int length;
    while ((length = i.read(buffer)) != -1) {
        result.write(buffer, 0, length);
    }
    return result.toString("UTF-8");
}

你需要创建自定义ViewPager来防止滑动。
第二,使用WebView的javascript桥来通信本地java代码。简单地说,js代码可能会设置ViewPager可滑动或不可滑动。


+)当你在html页面达到滑动结束时,调用自定义js函数通知本机viewpager可以滑动。