我想在活动布局中添加一个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)

最佳答案

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


您正在尝试嵌套活动。零碎的交易不支持该功能,并且几乎没有支持它的方式已被淘汰约2.5年。

但是,您可以将许多AllEventsFragments逻辑移到Fragment中,然后可以在AllEventsFragments以及尝试使用它的任何其他地方使用它。

关于android - 使用FragmentActivity而不是Fragment进行 fragment 事务,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18949824/

10-13 04:12