2017-12-03 15 views
0

ボタンを押したときにフラグメントをクリアしたい。戻るボタンが押されたときにフラグメントの内容を消去する

理想のサイクル: 私は私の活動のリストビューでITEM1をクリックすると、私はそれが私のフラグメントにのみITEM1コンテンツを表示したいです。 の項目2を押してクリックしたときには、の項目2のみが必要です。しかし、現時点では、アイテム1アイテム2はいずれも私の一部です。

これは私が私のフラグメントを開始する方法を示します。

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_fixtures); 

     if (savedInstanceState == null) { 
      mFixtureInfo = new FixtureInfoFragment(); 
      getSupportFragmentManager().beginTransaction() 
        .replace(R.id.containerMain, mFixtureInfo) 
        .commit(); 
     } 
    } 
+0

proivdeフラグメントのためのあなたのXMLコードでフラグメントのbackstackをクリアする必要があります。 –

+0

最も簡単な方法は、item1とitem2のコンテンツを別々に2つのフラグメントに分けて、通常のFragmentManagerを使用して2つのフラグメントをコンテナに切り替えることです。 – Rainmaker

+0

質問を繰り返さないでください。あなたが持っていた新しい情報、あなたが試した新しいコード、または投稿された回答がうまくいかなかった理由の説明があれば、この投稿を編集して、それをアクティブなキューの一番上にぶつけたでしょう。私はあなたが現在そこに答えを得ているので、新しいものの複製としてこれを閉じましたが、将来はオリジナルを編集してください。 –

答えて

0

はあなたのフラグメントがオープンになりたい時はいつでもフラグメントの新しいインスタンスを呼び出すようにしてください。

毎回新しいフラグメントが作成されます。

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_fixtures); 

    if (savedInstanceState == null) { 
     FixtureInfoFragment mFixtureInfo = new FixtureInfoFragment(); 
     getSupportFragmentManager().beginTransaction() 
       .replace(R.id.containerMain, mFixtureInfo) 
       .commit(); 
    } 
} 

グローバルにはFixtureInfoFragmetを宣言していません。

+0

私はこれを試して、問題はまだそこにある。 私のリストビューでitem1をクリックすると、フラグメントにitem1コンテンツのみが表示されます。私がitem2を押してクリックしたとき、そこにitem2だけが必要です。 しかし、現時点では、item1とitem2の両方が私の断片です。 – joefleec

0

あなたが活動instantSatateホルダー

@override onBackPressed(){ clearBackTrace(intent); }

+0

clearBackTraceとは何ですか? – joefleec

関連する問題