1

私のアプリにはタブがあり、1つのタブ内にListView付きのフラグメントがあります。リストでアイテムをクリックすると、そのタブの下にある新しいフラグメントを次のように初期化しようとします。

private class ShowItemClickListener implements OnClickListener {
        public void onClick(View v) {
        Fragment showDetails = new ShowFragment();
        FragmentTransaction ft = activity.getFragmentManager().beginTransaction();
        ft.replace(R.id.realtabcontent, showDetails);
        ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
        ft.addToBackStack(null);    
        ft.commit();
        System.out.println(activity.getFragmentManager().getBackStackEntryCount()); // this prints 0 though
    }
}

その結果、[フラグメントの表示]ビューで[戻る]ボタンを押すと、前のフラグメントに戻るのではなく、アプリケーションが閉じられます。私はここで何が間違っているのですか?

4

1 に答える 1

1

回答が遅くなり申し訳ありませんが、誰かが同じ質問をするかもしれません。

私は同じ問題を解決していました。このフラグメントが現在のビューにない場合にのみ、実際のフラグメントがバックスタックに追加されるようです。したがって、次のフラグメントに切り替えると、スタックに追加されます。

于 2013-01-17T12:57:07.860 に答える