在viewpager里面的Webview

时间:2016-11-04 06:26:46

标签: javascript android webview android-viewpager

我有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");
}

1 个答案:

答案 0 :(得分:0)

您需要创建自定义ViewPager以防止滑动 其次,使用WebView的javascript桥接器来传递本机java代码 简而言之,js代码可能会设置您的ViewPager是否可刷卡。

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