簡體   English   中英

ViewPager內的Webview

[英]Webview inside a 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");
}

您需要創建自定義ViewPager以防止滑動。
其次,使用WebView的javascript橋來傳達本機Java代碼。
簡而言之,js代碼可能會將您的ViewPager設置為可滑動或不滑動。


+)當您在html頁面內到達滑動結束時,調用自定義js函數以通知本機viewpager可以滑動。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM