[英]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.