如何从不扩展FragmentActivity的类的上下文访问FragmentManger

时间:2012-06-12 18:40:35

标签: android android-layout android-intent android-widget

我正在开发一个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())

2 个答案:

答案 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}}