我想在活动布局中添加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)
答案 0 :(得分:2)
我想在活动布局中添加FragmentActivity。
您正在尝试嵌套活动。碎片交易不支持这种做法,而且对它的支持很少,已被弃用了大约2。5年。
但是,您可以将大部分AllEventsFragments
逻辑移动到Fragment
,然后可以从AllEventsFragments
和您尝试使用它的任何其他地方使用它。