我创建了一个活动,在LinearLayout中有一个标题和一个web视图。在onResume()方法中它调用webView.loadUrl(url)。问题在于,该活动首先显示标题,屏幕其余部分为空白,然后启动设备浏览器并显示URL页面。我想看到的是在标题下面的WebView中显示的页面。有什么问题吗?

编辑: 好吧,我进一步搜索了一下,找到了这个:

单击url会打开默认浏览器

它指向WebView教程。

只需实现web客户端并设置它。


当前回答

简单回答你可以这样用

public class MainActivity extends AppCompatActivity {

     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         WebView webView = new WebView(this);
         setContentView(webView);
         webView.setWebViewClient(new WebViewClient());
         webView.loadUrl("http://www.google.com");
   }
}

其他回答

像这样使用:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_dedline);

    WebView myWebView = (WebView) findViewById(R.id.webView1);
    myWebView.setWebViewClient(new WebViewClient());
    myWebView.loadUrl("https://google.com");
}

如果您看到一个空页面,请启用JavaScript。

webView.setWebViewClient(new WebViewClient());
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);
webView.loadUrl(url);

用这个:

lWebView.setWebViewClient(new WebViewClient());

简单回答你可以这样用

public class MainActivity extends AppCompatActivity {

     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         WebView webView = new WebView(this);
         setContentView(webView);
         webView.setWebViewClient(new WebViewClient());
         webView.loadUrl("http://www.google.com");
   }
}

我刚刚发现,这取决于URL的格式:

https://example.com/example在浏览器中打开 https://example.com/example/(以/结尾)在webView中打开

我的代码只使用

webview.loadUrl(url)

无需设置

webView.setWebViewClient(new WebViewClient())

至少对我来说是这样。 也许这对你们有些人有用。