Android的WebView中滚动不起作用 [英] Android webview scrolling doesn't work

查看:966
本文介绍了Android的WebView中滚动不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在网页视图向下滚动到页面的底部,我使用的web视图的例子在他们的教程Google提供。我使用这行code,试图滚动,但它不工作。 mWebView.pageDown(真);
如何使编程滚动有什么建议?谢谢。

I'm trying to scroll down to the bottom of the page in a webview, I'm using the webview example google provided in their tutorials. I'm using this line of code to try to scroll but it isn't working. mWebView.pageDown(true); Any suggestions on how to make it scroll programmatically? Thank you.

public class WebViewExample extends Activity {

private static final String LOG_TAG = "WebViewDemo";

private WebView mWebView;

private Handler mHandler = new Handler();

@Override
public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.main);
    mWebView = (WebView) findViewById(R.id.webview);

    WebSettings webSettings = mWebView.getSettings();
    webSettings.setSavePassword(false);
    webSettings.setSaveFormData(false);
    webSettings.setJavaScriptEnabled(true);
    webSettings.setSupportZoom(false);

    mWebView.setWebChromeClient(new MyWebChromeClient());

    mWebView.addJavascriptInterface(new DemoJavaScriptInterface(), "demo");

    mWebView.loadUrl("http://www.google.com/search?q=android+webview+scroll+doesnt+work&hl=en&safe=off&prmd=ivns&ei=0b0cTquNNI6WsgP6l7igBQ&start=10&sa=N#sclient=psy&hl=en&safe=off&source=hp&q=android%20webview%20scrollable&pbx=1&oq=&aq=&aqi=&aql=&gs_sm=&gs_upl=&bav=on.2,or.r_gc.r_pw.&fp=c306e119a7d85f91&biw=1280&bih=738&pf=p&pdl=300");

           //this is where I try to scroll, doesn't work
           mWebView.pageDown(true);

}

final class DemoJavaScriptInterface {

    DemoJavaScriptInterface() {
    }

    /**
     * This is not called on the UI thread. Post a runnable to invoke loadUrl on the UI thread.
     */
    public void clickOnAndroid() {
        mHandler.post(new Runnable() {
            @Override
            public void run() {
                mWebView.loadUrl("javascript:wave()");
            }
        });

    }
}

/**
 * Provides a hook for calling "alert" from javascript. Useful for debugging your javascript.
 */
final class MyWebChromeClient extends WebChromeClient {
    @Override
    public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
        Log.d(LOG_TAG, message);
        result.confirm();
        return true;
    }
}

}

推荐答案

我觉得 mWebView.pageDown(真); 后应加载内容调用。

I think that mWebView.pageDown(true); should be called after loading content.

mWebview.setWebViewClient(new WebViewClient() {
    public void  onPageFinished (WebView view, String url) {
      mWebView.pageDown(true);
    }
});

这篇关于Android的WebView中滚动不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆