0

フラグメント内にwebviewを作成しましたが、戻るボタンを押すと、戻るのではなくアプリケーションが終了します。私が望むのは、私が戻るボタンを押したときに戻ることです、そして、もし私がすでにホームページにいたら、戻るボタンは、アプリケーションを殺すはずです。フラグメント内のアンドロイドウェブビューの戻るボタン

私は与えられたリンクのすべてのソリューションを使用しようとしました。

How to add "Go Back" function in WebView inside Fragment?

助けてください。

+0

[this](http://stackoverflow.com/a/26449424/3692099)アプローチでは何が動作しませんか? –

答えて

0

あなたは以下のコードのような活動のonBackPressed()メソッドをオーバーライドし、getFragmentManagerを(呼び出すことによって、バックポップするbackstackの以前のフラグメントがあるかどうか確認してください)popBackStackImmediate()またはgetSupportFragmentManager()popBackStackImmediate()することができます:

@Override 
public void onBackPressed() { 
    if (!getFragmentManager().popBackStackImmediate()) { 
     super.onBackPressed();   
    } 
} 

commitstring()を呼び出す前に、バックグラウンドにフラグメントトランザクションを追加する前に、忘れずに.addToBackStack(null)を呼び出してください。

そして、あなたは前に戻って、前のフラグメントに行く背中のWebViewにナビゲートした以前のウェブページ、ユーザーに行くためにボタンを背面押ししたい場合は、この操作を行うことができます。

@Override 
public void onBackPressed() { 
    if (webView.canGoBack()) { 
      webView.goBack(); 
    } else if (!getFragmentManager().popBackStackImmediate()) { 
     super.onBackPressed();   
    } 
} 

をまたにあなたのWebViewを設定することを忘れないでくださいwebView.setWebViewClient(new WebViewClient())を呼び出して、WebView内の任意のWebページをロードします。

+0

真剣にあなたは天才です...それは本当に働いています..複数の断片で私を助けることができます..私は個々のwebviewsと複数の断片がある場合私はonBackPressedを使用することができますか?また、ナビゲーションバーから開いてメイン画面に戻ると、フラグメントを強制終了することができます。 –

+0

個別のウェブビューを持つ複数のフラグメント?すべてのフラグメントが内部に独自のwebviewを持つことを意味しますか?これについてもっと詳しく説明できますか? – CodePlay

+0

私はフラグメントを閉じて、戻るボタンでアプリの引き出しからメインアクティビティに戻りたいと思います。出来ますか。私は何をしなければならないのですか?上記のコードを変更してもらえませんか? –

関連する問題