2

アクティビティ レイアウトに FragmentActivity を追加したいと思います。フラグメント トランザクション (フラグメントの追加、削除、置換など) を行うには、まずアクティビティから FragmentTransaction のインスタンスを取得し、次にフラグメントを指定する add() メソッドを使用してフラグメントを追加する必要があると API ガイドは述べています。追加するビューと挿入するビュー。ここまでは簡単ですが、FragmentActivity の場合はどうすればよいでしょうか?

AllEventsFragments events;

    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        if ( savedInstanceState == null )
        {  
            events = new AllEventsFragments();
            FragmentTransaction transaction = getFragmentManager().beginTransaction();

            transaction.add(R.id.content_frame, events,"events");

            // Commit the transaction
            transaction.commit();
        }
    }

AllEventsFragments は次のように定義されます。

public class AllEventsFragments extends FragmentActivity implements ActionBar.TabListener 
{
  ...
}

add メソッドは Fragment を 2 番目の引数として受け入れるため、返されるエラーは次のとおりです。

FragmentTransaction 型のメソッド add(int, Fragment, String) は、引数 (int, AllEventsFragments, String) には適用されません。

4

1 に答える 1

2

アクティビティ レイアウトに FragmentActivity を追加したいと思います。

アクティビティをネストしようとしています。これはフラグメント トランザクションを介してサポートされておらず、これまでほとんどサポートされていなかったものの、約 2.5 年間非推奨となっています。

AllEventsFragmentsただし、ロジックの多くを に移動できますFragment。これは、両方から使用でき、AllEventsFragments使用しようとしている他の場所からも使用できます。

于 2013-09-22T23:33:42.057 に答える