2012-02-09 8 views
4

と呼ばれているが、私の活動ではいけない仕事します。 フラグメントにはリストビューが含まれています。項目がクリックされると、次のコードが実行されます。断片BackStackは、私が呼んaddToBackStack(ヌル)が

getFragmentManager() 
      .beginTransaction() 
      .replace(R.id.fragment_container, new ViewPlaylistFragment(), 
        "ViewPlaylistFragment").addToBackStack(null).commit(); 

これも機能します。 UserPlaylistsFragmentは、ViewPlaylistFragmentに置き換えられます。 奇妙なこと: "戻るボタン"を押すと何も起こりません。そしてそれを2回打つと、アプリは(エラーなしで)閉じます。

"BackStack"は私にとってはうまくいかないようです。誰か提案がありますか?

マイレイアウト:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 


    <RelativeLayout 
     android:id="@+id/fragment_container" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 

    </RelativeLayout> 

</LinearLayout> 
+5

これは、ロングショットであるかもしれないだろうが、私は、フラグメントが狂った行動を見てきました。 なぜ '.addToBackStack(null)'を2回やっていますか? 'add'または' replace'の後でのみ呼び出すべきです – blindstuff

+0

二重の '.addToBackStack(null)'も私には奇妙に見えます。コミットの直前のものだけを使ってみましたか? – Javier

答えて

2

はあなたの最初のFragmentTransactionに.addToBackStack(ヌル)にあなたの最初の呼び出しを削除します。

+0

この質問は長い間前ですが、あなたは正しいです、ダブルバックスタックコールが問題でした –

0

addToBackStack()twiseを呼び出すことはありません...それは混乱それを