4

アプリケーションには2つのタブがあり、タブAとタブBは両方ともフラグメントを拡張します。ここで私の質問は、タブBのリスト項目をクリックすると、タブ内で新しいフラグメントCが呼び出される必要があるということです。次のコードを使用すると、フラグメントCを呼び出すことができますが、タブ内では呼び出すことができません。

Intent intent = new Intent();
intent.setClass(getActivity(), C.class);
startActivity(intent);

アクティビティを使用している場合、ActivityGroupを使用することで問題の解決策を達成できます。フラグメントに同様の方法はありますか?

4

3 に答える 3

4

このコードを試してみてくださいonClickリストアイテム

private void stackAFragment() {
            Fragment f;
            f = new MedicationOrderFragment();
            FragmentTransaction ft = getFragmentManager().beginTransaction();
            ft.replace(R.id.main_details_fragment_container, f);
            ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
            ft.addToBackStack(null);
            ft.commit();
        }
于 2012-05-25T12:37:35.800 に答える
0

フラグメントを置き換えてみてください。

protected void replaceDataFragment(Fragment fragment){
    android.app.FragmentTransaction ftr = getFragmentManager().beginTransaction();
    ftr.replace(R.id.data<id of your fragment layout>, fragment);
        ftr.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
        ftr.commit();   
    }
于 2012-05-25T12:37:29.467 に答える
0

このコードを使用すると、インテントを使用して新しいアクティビティを開始できます。フラグメントでこれを使用してみてください。

getSupportFragmentManager().beginTransaction().replace(
R.id.my_container_in_xml, new MyFragment(), 0).commit();
于 2012-05-25T12:38:20.120 に答える