2

我想在活动布局中添加一个 FragmentActivity。为了进行片段事务(例如添加、删除或替换片段),api 指南说我首先需要从您的 Activity 中获取 FragmentTransaction 的实例,然后使用指定片段的 add() 方法添加片段添加和插入它的视图。好吧到目前为止很简单,但是在 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 作为第二个参数,因此返回的错误是:

FragmentTransaction 类型中的方法 add(int, Fragment, String) 不适用于参数 (int, AllEventsFragments, String)

4

1 回答 1

2

我想在活动布局中添加一个 FragmentActivity。

您正在尝试嵌套活动。这不受片段事务的支持,而且几乎没有支持它已经被弃用了大约 2.5 年。

但是,您可以将大部分AllEventsFragments逻辑移动到 aFragment中,然后可以从两者AllEventsFragments以及您尝试使用它的任何其他地方使用它。

于 2013-09-22T23:33:42.057 回答