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