首先,检查是否有清单文件Internet权限。
<uses-permission android:name="android.permission.INTERNET" />
可以再加入继的onCreate(代码)或初始化()方法 -
final WebView webview = (WebView) rootView.findViewById(R.id.webview);
webview.setWebViewClient(new MyWebViewClient());
webview.getSettings().setBuiltInZoomControls(false);
webview.getSettings().setSupportZoom(false);
webview.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webview.getSettings().setAllowFileAccess(true);
webview.getSettings().setDomStorageEnabled(true);
webview.loadUrl(URL);
,写一个类来处理的WebView的回调 - 在同一类
public class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
//your handling...
return super.shouldOverrideUrlLoading(view, url);
}
}
,你也可以使用其他重要的回调如 -
- onPageStarted()
- onPageFinished()
- onReceivedSslError()
此外,您可以添加“SwipeRefreshLayout”以启用刷新刷新并刷新网页视图。
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipeRefreshLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</android.support.v4.widget.SwipeRefreshLayout>
,并刷新网页视图当用户扫描屏幕:
SwipeRefreshLayout mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipeRefreshLayout);
mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
mSwipeRefreshLayout.setRefreshing(false);
webview.reload();
}
}, 3000);
}
});
来源
2015-10-08 06:12:19
DsD
是否加载在默认的Android浏览器的URL工作的? – 2013-04-25 05:38:52
你有互联网许可吗? – Lucifer 2013-04-25 05:39:28
@LeonLucardie在设备浏览器中工作 – String 2013-04-25 05:45:40