3

私は2つのフラグメントを持っていて、以下のように設定しています

fram1 = new FragMent1();
fragMentTra.addToBackStack(null);
fragMentTra = getFragmentManager().beginTransaction().add(rl.getId(), fram1, "fram1");

fram2 = new FragMent2();
fragMentTra.addToBackStack(null);
fragMentTra = getFragmentManager().beginTransaction().add(rl.getId(), fram2, "fram2");

Fragment は Listfragment を拡張し、他のものは拡張しません。

public class FragMent1 extends android.support.v4.app.ListFragment {

public class FragMent2 extends Fragment{

ラインを実行するとfragMentTra = getFragmentManager().beginTransaction().add(rl.getId(), fram1, "fram1");

以下のエラーメッセージが表示されます。誰でもこれを解決する方法を知っていますか?

The method add(int, Fragment, String) in the type FragmentTransaction is not applicable for the arguments (int, FragMent1, String)
4

2 に答える 2

5

サポート ライブラリのフラグメントを使用しているため、Activity はFragmentActivityを拡張する必要があり、使用するメソッドはgetSupportFragmentManager()です。

API 11 以降のみをターゲットにする予定があるまでは、ネイティブ実装ではなく、常に Fragments のサポート ライブラリを使用する必要がある場合があります。

于 2012-11-16T14:42:53.353 に答える
1

FragMent1延長する必要はandroid.app.ListFragmentありませんandroid.support.v4.app.ListFragment

于 2012-11-16T14:47:01.057 に答える