2016-10-01 15 views
1

私はDrawerActivityを主な活動として持つアプリを作ろうとしています。私はその中に8つの断片を実装しました。これは引き出しの各項目に対応しています。今、私が持っている問題は、フラグメントからDrawerActivityに戻るために戻るボタンを押すたびに、私は代わりにアプリケーションを終了します。私は3日間フォーラムで検索してきましたが、これに対する解決策は見つかりませんでした。かなり不満は、私は愚かに私のコードを削除したので、私は今実際にそれを表示することはできません。私はバックボタンを使用してフラグメントを終了し、私の主な活動に戻っていかなければならないか誰にでも簡単に説明できますか?戻るボタンを使用してフラグメントを終了し、引き出しアクティビティに戻るにはどうすればよいですか?

現在のシナリオ: DrawerActivityは、すべて互いに独立しています。フラグメントAからHにしましょう。フラグメントAに行くと、navigationDrawerを開き、BからHまでの他のフラグメントに向かうことができるはずです。しかし、戻るボタンを押すと、引き出しアクティビティのメインページに移動します。

私が試したことはうまくいきませんでした。
1. onBackPressedとpopBackStackの使用。
2.カスタムリスナーの作成。
3. fragmentTransactionを使用しています。

+0

? –

+0

フラグメントはアクティビティの一部であるため、アクティビティに戻ってきます。たとえば、アクティビティのページに「HELLO」が表示されている場合、フラグメントに移動して戻ると、「HELLO」をもう一度見ることができます。 – CannonBaller9Pin

+0

@ CannonBaller9Pin "HELLO" TextView(またはテキストを表示するために使用するビュー)をXMLファイルに定義しましたか? –

答えて

0

スーパークラスメソッドを呼び出さずにonBackPressed()をオーバーライドしようとしましたか? (呼び出されてから)(あなたがフィニッシュを防ぐようにするため。)

@Override 
public void onBackPressed() { 
    //show Fragment A 
} 

する「super.onBackPressed()」なしでそれを呼び出して、それが動作するはずです。

+0

私の現在の断片から別の断片に戻ってほしくない。私はその断片を立ち上げた活動に戻りたいと思う。 – CannonBaller9Pin

0

私はどれほど愚かなのか信じられません。引き出しのアクティビティの最初の部分が常にデフォルトの部分であることが突然わかったとき、私は自分の携帯電話でGmailアプリケーションを使用していました。私が考えていたのは、バックを押したときの引き出しアクティビティは元の状態に戻りますが、フラグメントはアクティビティ自体の一部であるという事実は考慮していませんでした。 本当に問題ではなかった私の問題を理解しようとしてくれてありがとう、ありがとう...私自身でも何かを学んだようです。

0

あなたはこのようにバックアンドロイドスタックにあなたのフラグメントを追加する必要があります。バックあなたが戻って最初のフラグメントまたは活動へ行く意味引き出しの活動のメインpage`に行くために `によって

getSupportFragmentManager() 
      .beginTransaction() 
      .replace(R.id.your_container,fragment,fragment.TAG) 
      .addToBackStack(null) 
      .commit(); 
関連する問題