Google ドキュメントから Web ビューにドキュメントを読み込んでいます。私が見る問題は、ユーザーがアプリを起動してネットワークに接続していないときに、次の画面が表示されることです。

彼がネットワークに接続した場合、アプリを再起動せずに webview 内でそのリンクを開く方法は何ですか? WebView でそのリンクをクリックすることも 1 つのオプションですが、この種のシナリオが発生した場合、WebView でページをリロードするためのよりユーザーフレンドリーな方法を提供できますか?
次のように、WebViewClient でネットワーク エラーをキャッチし、自分でカスタマイズしたレイアウトを表示できます。
webView.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(final WebView view, int errorCode, String description,
final String failingUrl) {
//control you layout, show something like a retry button, and
//call view.loadUrl(failingUrl) to reload.
super.onReceivedError(view, errorCode, description, failingUrl);
}
});
まず、「Webpage not available」は、エラーが発生したときに webviewclient がスローするエラー ページです。カスタム webviewclient を設定し、onReceiverError をオーバーライドすると、webview が受け取るエラーが処理されます。
webView.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
{
//some codes here that you want to do when webview receives an error
}
});
次に、ネットワーク接続のマニフェストを正しく設定しましたか? とにかく、これら3つを追加してください:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
第三に、アプリを再起動せずにリンクに移動するには、次のことを行う必要があります。
このコードを webview を作成する場所に追加します
if(savedInstanceState == null)
{ wv.loadUrl( url here ); }
次の 2 つのメソッドを追加します。
@Override protected void onSaveInstanceState(Bundle outState ) { super.onSaveInstanceState(outState); wv.saveState(outState); }
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState)
{
super.onSaveInstanceState(savedInstanceState);
wv.restoreState(savedInstanceState);
}
第三に、ページをリロードするとき、私がすることは