3

我在这里看到了几篇关于实现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);
    }
}

}

4

3 回答 3

1

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

wv.setWebViewClient(new Callback());
于 2013-03-24T15:16:47.530 回答
1

如果您只想在默认浏览器中显示所有页面WebView而不是在默认浏览器中打开,您只需要指定一个WebViewClient. 甚至不需要创建扩展的自定义类WebViewClient

wv.setWebViewClient(new WebViewClient());
于 2013-03-24T15:14:31.240 回答
0

或者简单地添加WebChromeClient()

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

使用WebChromeClient允许您处理 Javascript 对话框!

于 2019-07-26T16:57:32.237 回答