1

我正在开发一个 android 应用程序,我需要从不扩展 FragmentActivity 的类中启动一个 Fragment 。我正在使用支持 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())
4

2 回答 2

4

如果Context您拥有来自FragmentActivity,您可以将其转换为FragmentActivity,但我不确定是否是您的情况。

也就是说,听起来你正在做的是不好的做法。我会将所有 Fragment 事务保留在FragmentActivity课堂上。如果另一个类需要请求不同的Fragment显示,您应该使用回调或类似的东西。

于 2012-06-12T18:45:34.900 回答
1

刚刚在另一个线程中回答了这个问题,但这可能对其他人有所帮助。我的情况可能与您的情况相似,对于如何解决将Adapter类与类分开的问题没有准确的答案FragmentActivity,同时需要访问getSupportFragmentManager适配器中的 ()。

传递上下文不起作用,因为它不允许转换 FragmentActivity (原因我仍然不明白)。

但是我放弃了,只是保存了对经理本身的访问权限并直接调用它:

public ViewPagerAdapter(Context context, FragmentManager fm, Fragment f) {
    super(fm);  
    _fm = fm; // declared in the class "private FragmentManager _fm;"
    _context=context;       
}
于 2012-12-17T17:49:44.657 回答