2

私のアプリケーションには、2 つのフラグメント A と B があります。フラグメントには、Google マップとリストビューが含まれており、B フラグメントには Google マップのみが含まれています。

AフラグメントからBフラグメントを開きたいのですが、戻るボタンを押すと、データをロードせずにAフラグメントに移動する必要があります。

public void addPage(final DefaultFragment pDefaultFragment, final boolean isAddToBackStack){
            FragmentTransaction transaction = mFragmentManager.beginTransaction();
            transaction.add(R.id.content_frame, pDefaultFragment);
            //transaction.replace(R.id.content_frame, pDefaultFragment);
            if (isAddToBackStack) transaction.addToBackStack(null);
            transaction.commitAllowingStateLoss();            
    }

このコードを使用してフラグメントを追加します

Bframent b = new Bfragment();
addPage(b,true);

と の違いを知っていtransaction. addますtransaction.replace。私の問題は、transaction.add を使用するときです。ボタンを押すと、A フラグメントのマップが破棄されず、B フラグメントのマップの上にとどまります。ただし、戻るボタンを押した後に transaction.replace を使用すると、データが再度読み込まれます。

それで、ビューでも問題なくデータをロードせずに戻るボタンを押すにはどうすればよいか教えてください。

4

1 に答える 1