簡體   English   中英

Android WebView不會加載網址

[英]android webview does not load url

我想加載列表視圖中列出的URL,然后在列表項上單擊以將這些URL發送到另一個片段中,該片段基本上包含一個Web視圖以加載該URL。 因此,我想將網址加載到該webview中。 它打印所有日志,但不顯示任何內容。 我試過的是:

public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    //url = getArguments().getString("url");

    url = "http://www.google.com";

    browser = (WebView) getActivity().findViewById(R.id.webView_fullNews);

    // initialize web settings
    settings = browser.getSettings();
    settings.setJavaScriptEnabled(true);
    settings.setLoadsImagesAutomatically(true);
    settings.setSupportMultipleWindows(true);
    settings.setAppCacheEnabled(true);
    settings.setAppCachePath( getActivity().getApplicationContext().getCacheDir().getAbsolutePath() );
    //settings.setAllowFileAccess(true);
    settings.setDomStorageEnabled(true);
    settings.setDatabaseEnabled(true);

    // dialog to show error
    final AlertDialog alertDialog = new AlertDialog.Builder(getActivity()).create();

    // loading dialog
    final ProgressDialog progress = new ProgressDialog( getActivity() );
    progress.setMessage("Loading News...");
    progress.setProgressStyle(ProgressDialog.STYLE_SPINNER);
    progress.setIndeterminate(true);
    progress.show();

    browser.setWebChromeClient(new WebChromeClient(){});

    browser.setWebViewClient(new WebViewClient(){
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            Log.i(TAG, "Processing webview url click...");
            view.loadUrl(url);
            return true;
        }

        public void onPageFinished(WebView view, String url) {
            Log.i(TAG, "Finished loading URL: " +url);
            if (progress.isShowing()) {
                progress.dismiss();
            }
        }

        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
            Log.e(TAG, "Error: " + description);
            Toast.makeText(getActivity(), "Ops! " + description, Toast.LENGTH_SHORT).show();
            alertDialog.setTitle("Error");
            alertDialog.setMessage(description);
            alertDialog.setButton(Button.TEXT_ALIGNMENT_CENTER, "OK", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    return;
                }
            });
            alertDialog.show();
        }
    });

    browser.loadUrl(String.valueOf(Uri.parse(url)));
}

xml內容:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="vertical"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:paddingTop="8dp"
          android:paddingLeft="8dp"
          android:paddingRight="8dp">

    <WebView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/webView_fullNews"/>

</LinearLayout>

該代碼應位於

     public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
       View rootView = inflater.inflate(R.layout.fragment_my, container, false);
       browser = (WebView) rootView.findViewById(R.id.webView_fullNews);
            //Your webview settings
            //here
       return rootView;
    }

片段的方法,您需要從xml初始化和擴充片段的視圖,然后設置webview的設置屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM