我正在开发一个Android应用程序,我需要从类中启动一个FragmentActivity并不扩展FragmentActivity。我正在使用支持v4包。 我将在我当前的课程中提供上下文。任何人都可以帮助我如何从当前上下文创建FragmentManager对象吗?
public ToolBarGenerator(Context c)
{
context = c;
}
FragmentManager fm = (FragmentActivity)context.getSupportFragmentManager(); //getting error at this line.
//Called like the above
new ToolBarGenerator(getActivity())
答案 0 :(得分:4)
如果您拥有的Context
来自FragmentActivity
,则可以将其投放到FragmentActivity
,但我不确定这是否属于您的情况。
那就是说,听起来你正在做的是不好的做法。我会将所有Fragment事务保留在FragmentActivity
类中。如果另一个类需要请求显示的其他Fragment
,则应使用回调或类似的东西。
答案 1 :(得分:1)
刚刚在另一个帖子中回答了这个问题,但这可能对其他人有所帮助我的情况可能与您的情况类似,对于如何处理与Adapter
类分开的FragmentActivity
类而无需精确答案,同时需要访问getSupportFragmentManager
内的public ViewPagerAdapter(Context context, FragmentManager fm, Fragment f) {
super(fm);
_fm = fm; // declared in the class "private FragmentManager _fm;"
_context=context;
}
()适配器。
传递上下文不起作用,因为它不允许转换FragmentActivity(原因我仍然不明白)。
但是我放弃了,只是保存了对经理本身的访问权并直接调用它:
{{1}}