从基础适配器到其片段类的函数调用
问题描述:
我在sherlock片段类中有一个函数。我想在单击某个项目时从它的基本adpater类中调用它。我的代码波纹管从基础适配器到其片段类的函数调用
在底座适配器
SherlockFragment obj=new TVgui()
(tvgui)obj.replace_fragment(frag,tag);
在sherlockFragment类
public void replace_fragment(SherlockFragment frag,String tag)
{
frag_child = getChildFragmentManager();
ft = frag_child.beginTransaction();
ft.addToBackStack(null)
.replace(R.id.fragment_container,frag,tag);
ft.commit();
}
强行关闭带有错误 “破坏活动”。请帮助
答
您应该使用传递给适配器的上下文,而不是创建新的Fragment对象。像这样:
((TVgui)context).replace_fragment(frag,tag);
但在我的适配器中我使用了活动上下文而不是片段。 – user1526671 2013-02-20 07:43:54
所以传递片段上下文或将其添加为另一个参数。 – 2013-02-20 07:45:59