Najpierw sprawdź, czy masz dostęp do Internetu w pliku manifestu.
<uses-permission android:name="android.permission.INTERNET" />
Można następnie dodać następujący kod w onCreate() lub zainicjować() method-
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);
i napisać klasę do obsługi wywołań zwrotnych z WebView -
public class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
//your handling...
return super.shouldOverrideUrlLoading(view, url);
}
}
w tej samej klasie można również użyć innych ważnych wywołań zwrotnych, takich jak -
- onPageStarted()
- onPageFinished()
- onReceivedSslError()
Możesz także dodać "SwipeRefreshLayout", aby włączyć odświeżanie i odświeżanie widoku internetowego.
<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>
i odśwież webview gdy użytkownik ekran swipes:
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);
}
});
Czy ładowanie pracę URL w domyślnej przeglądarki Androida? –
Czy masz pozwolenie internetowe? – Lucifer
@LeonLucardie działa w przeglądarce urządzenia – String