2013-02-20 75 views
0

我在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(); 

} 

強行關閉帶有錯誤 「破壞活動」。請幫助

回答

0

您應該使用傳遞給適配器的上下文,而不是創建新的Fragment對象。像這樣:

((TVgui)context).replace_fragment(frag,tag); 
+0

但在我的適配器中我使用了活動上下文而不是片段。 – user1526671 2013-02-20 07:43:54

+0

所以傳遞片段上下文或將其添加爲另一個參數。 – 2013-02-20 07:45:59