【问题标题】:How to use Webview?如何使用网络视图?
【发布时间】:2016-04-21 05:34:02
【问题描述】:
  String  fbid = getIntent().getStringExtra("id");//Getting this value from previous screen

     Log.e( "What I am getting : " + fbid);


    final String url = "https://www.fbbexample.com/abc/"+fbid;  //**not working**

Log.e( "url I am getting : " + url); Log value:  https://www.fbbexample.com/abc/59



// final String url2 = "https://www.fbbexample.com/abc/"+59;  //**this is working**

   //  Log.e( "url2 I am getting : " + url2);  Log value:  https://www.fbbexampl.com/abc/59

    webView = (WebView) findViewById(R.id.webView);       



    webView.getSettings().setJavaScriptEnabled(true);

    webView.loadUrl(url);

    webView.getSettings().setBuiltInZoomControls(true);

    webView.setWebViewClient(new WebViewClient() {

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            // webView.getSettings().setBuiltInZoomControls(true);
            return true;
        }
    });
}
}

我面临的是,当我对字符串“fbid”进行硬编码时,它可以工作,当我按照上面提到的方式尝试它时,然后出现空白屏幕.. ....

Intent 意图 = new Intent(getContext(), SingleFbb.class);
intent.putExtra("id",idno);

【问题讨论】:

  • 我猜是空格问题final String url = "https://www.fbb.com/abc/"+fbid;
  • This site can’t be reached www.fbb.com refused to connect
  • 空白无关紧要,它只是示例而不是站点
  • 如何将数据传递给此类。发布您的意向电话
  • 我在我的 Logcat 中看到了正确的值更新了代码@Ameer

标签: android webview


【解决方案1】:

试试这个

      public class ShowSubjectListItemsInWebView extends ActionBarActivity {
        private WebView webView;       

        private ProgressDialog dialog;
        private String url;


        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_show_subject_list_items_in_web_view);
            this.initViews();
            String  fbid = getIntent().getStringExtra("idmindmaps");
            url= "https://www.fbbexample.com/abc/"+fbid; 
            loadWebView(url);
        }

        //initializes all views
        private void initViews() {
            webView = (WebView) findViewById(R.id.filesWebView);
        }

        //show Url in WebView
        public class myWebClient extends WebViewClient {
            @JavascriptInterface
            @Override
            public void onPageStarted(WebView view, String url, Bitmap favicon) {
                // TODO Auto-generated method stub
                super.onPageStarted(view, url, favicon);
                dialog = new ProgressDialog(ShowSubjectListItemsInWebView.this);
                dialog.setProgressStyle(android.R.style.Widget_ProgressBar_Small);
                dialog.setCancelable(false);
                dialog.setMessage(Constant.KEY_PLEASE_WAIT);
                dialog.show();
            }

            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                // TODO Auto-generated method stub
                view.loadUrl(url);
                return true;
            }

            @Override
            public void onPageFinished(WebView view, String url) {
                // TODO Auto-generated method stub
                super.onPageFinished(view, url);
                if (dialog.isShowing()) {
                    dialog.dismiss();
                }
            }
        }

        public void loadWebView(String url) {
            webView.setWebViewClient(new myWebClient());
            webView.getSettings().setJavaScriptEnabled(true);
            webView.getSettings().setBuiltInZoomControls(true);
            webView.getSettings().setUseWideViewPort(true);
            webView.getSettings().setLoadWithOverviewMode(true);
            webView.getSettings().setDomStorageEnabled(true);
            webView.setVisibility(View.VISIBLE);
            webView.loadUrl(url);
        }

   }

【讨论】:

  • 出现此错误 W/BindingManager: 无法调用 deniedVisibility() - 从未见过 pid: 18224@saurabh gupta 的连接
  • @AgniveerKranti webView.getSettings().setDomStorageEnabled(true);也添加此代码,此错误将得到解决
  • W/BindingManager:无法调用 deniedVisibility() - 从未看到 pid 的连接:4181 仍在获取@saurabh gupta
  • @AgniveerKranti 所以尝试添加这个也.. webView.setVisibility(View.VISIBLE);
  • thank..solved...我用你的更新代码尝试了上面的代码,它正在工作@saurabh gupta
【解决方案2】:

试试这个。这将删除空格,

String url = "https://www.fbbexample.com/abc/"+ URLEncoder.encode(fbid,"UTF-8");

您也使用了错误的键从可渗透的屏幕中获取价值。 代码中的正确键是“idmindmaps”,所以使用它。

String  fbid = getIntent().getStringExtra("idmindmaps");

【讨论】:

  • it is"id" sry for the error ...我更新了它但仍然无法正常工作,尝试了这个 String url = "fbbexample.com/abc/"+ URLEncoder.encode(fbid,"UTF-8"); @Zeeshan Shabbir
  • 粘贴完整的代码。你一定有什么不对的地方,而将价值放在意图并通过捆绑接收
  • 完全相同的代码正在另一个活动中使用相同的代码用于意图和其他事情,无论如何谢谢,我会重新检查代码@Zeeshan Shabbir
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-17
  • 1970-01-01
  • 2015-06-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多