2016-11-01 20 views
0

私は、その上に4つの断片を持つ主な活動Aを持っています。ボタンをクリックするとフラグメントが次々と現れます。以前の活動の前の断片にナビゲートする方法

私は最後の断片(第四)のボタンをクリックした後、私は新しい活動B.

、このようなときに、ユーザーがそれをクリックするとどのように私は、ボタンを押して戻って実装することができますに取られています。彼はアクティビティAの第4の断片に連れて行きますか?

+0

アクティビティBになったアクティビティAのフラグメントに移動したいのですか? – Real73

+0

まず、私はあなたが断片からこれをやっていないと言いたいと思います。 (いいえ!)これを管理するアクティビティへのコールバックを行います。アクティビティレベルでスタックを保つだけです。 – StarWind0

答えて

2

これにはバックスタックを使用する必要があります。変更フラグメントを追加するたびに、そのフラグメントをバックスタックに追加することになります。

//Create an instance of your fragment; 
MyFragment frag = MyFragment.newInstance(); 
//replace the fragment in a normal fragment transaction 
getSupportFragmentManager().beginTransaction() 
       .replace(R.id.container, frag, "MyFragment Tag") 
       //add to the back stack 
       .addToBackStack(f) 
       .commit(); 

これについては、戻るボタンがそれぞれの以前のフラグメントを通過するようになりました。したがって、フラグメント3を打った後、フラグメント2などが表示されます。

これは望ましい結果ではない可能性がありますので、追加するときにフラグメントをバックスタックに追加したいだけです。フラグメント4.

0

あなたはonBackPressed機能

@Override 
public void onBackPressed() { 
    super.onBackPressed(); 
    Intent i = new Intent(getApplicationContext(), AcvityA.class); 
    i.putExtra("position","4"); 
    startActivity(i); 

}あなたの活動

Bundle extras = getIntent().getExtras(); 
if (extras != null) { 
    String position = extras.getString("position"); 
    //load the fragment based in position 
} 

・ホープ、このヘルプで

の内側に、アクティビティAに活動Bからのデータを渡すことができます。よろしくお願いします。

関連する問題