试图实现WebviewClient ..但失败了

时间:2013-03-24 15:05:31

标签: android

我在这里看到了几篇关于实现WebviewClient的文章,以便webview中的转换保留在webview中,而不是转到浏览器。当我尝试运行我的应用程序时,webview加载但它仍然无法解决页面转换问题。是否有可能我需要用“On Create”替换“shouldoveride”?

public class WebViewActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    WebView wv = (WebView) findViewById(R.id.webview1);

    WebSettings webSettings = wv.getSettings();
    webSettings.setBuiltInZoomControls(true);


    wv.loadUrl("http://www.yahoo.com");
}

private class Callback extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        return(true);
    }
}

}

3 个答案:

答案 0 :(得分:1)

如果您只是想在WebView内显示所有页面而不是在默认浏览器中打开,那么您只需要指定WebViewClient。甚至不需要创建扩展WebViewClient

的自定义类
wv.setWebViewClient(new WebViewClient());

答案 1 :(得分:1)

您没有将WebViewClient分配给WebView。这样做:

wv.setWebViewClient(new Callback());

答案 2 :(得分:0)

或者只需添加WebViewClient()WebChromeClient()

WebView wv = (WebView) findViewById(R.id.webview1);
wv.setWebViewClient(new WebViewClient());
wv.setWebChromeClient(new WebChromeClient());

使用WebChromeClient可以处理Javascript对话框,图标,标题和进度