在WebView中显示URL

5

在我的Json解析中,我从这个json中获取了url。我需要将该Url链接显示在Webview中。我应该怎么做?

代码 在这里:

     TextView tv = (TextView)findViewById(R.id.textView1);
     Bundle bundle = new Bundle();
     bundle  = getIntent().getExtras();

           String id = bundle .getString("id");
           String firstName = bundle.getString("firstName");
           String lastName = bundle.getString("lastName");
           String headline = bundle.getString("headline");
           String pictureUrl = bundle.getString("pictureUrl");
           String url = bundle.getString("url");


          Log.v("LV","id :"+id+"\n"+"firstname :"+firstName+"\n"+"lastname :"+lastName+"\n"+"headline :"+headline+"\n"+"pictureUrl :"+pictureUrl+"\n"+"siteStandardProfileRequest"+url);
          tv.setText("id :"+id+"\n"+"firstname :"+firstName+"\n"+"lastname :"+lastName+"\n"+"headline :"+headline+"\n"+"pictureUrl :"+pictureUrl+"\n"+"Profile URL :"+url);   

打开一个浏览器可能是一个替代方案(如果您不必在Web视图中打开链接)。 - nobalG
如何在浏览器中显示,请您解释一下吗?@nobalG - user3886658
请参考@andruboy提供的答案,使用Intent - nobalG
2个回答

7

你提出了在Webview中打开URL的要求,因此你需要在你的项目中添加一个Webview并按照以下方式进行操作:

webView = (WebView) findViewById(R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl(url);

// you need to setWebViewClient for forcefully open in your webview 
webview.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
});

另一种方法是(将在Web浏览器中打开)
Intent browserIntent = new Intent(Intent.ACTION_VIEW,uri.parse(url));
startActivity(browserIntent);

我使用了相同的方法,而不是加载那个URL,它会加载所有内容。@andruboy - user3886658

5

使用此代码:

   webView = (WebView) findViewById(R.id.webView1);
   progressDialog = ProgressDialog.show(MainActivity.this, "", "Loading...",true);

    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setPluginState(PluginState.ON);
    webView.getSettings().setAllowFileAccess(true);

    webView.loadUrl("http://example.com/shidhin/test.html"); // Here You can put your Url
    webView.setWebChromeClient(new WebChromeClient() {
    });

    webView.setWebViewClient(new WebViewClient() {
             public boolean shouldOverrideUrlLoading(WebView view, String url) {
                 return false;
            }
            public void onPageFinished(WebView view, String url) {
               progressDialog.dismiss();
               //Toast.makeText(context, "Page Load Finished", Toast.LENGTH_SHORT).show();
            }
      });        

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接