2014-01-10 98 views
0

我有嵌套片段。我有活動A有片段B有列表片段,當用戶從ListFragment中點擊項目時我想用onListItemClick方法打開新的片段。 但我沒有發現ID錯誤的視圖。嵌套片段沒有找到列表片段項目的視圖

代碼如下所示:

private ArrayAdapter arrayAdapter; 
    private ArrayList warnings; 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     warnings = new ArrayList(); 
     for(int i=0;i<10;i++) { 
      warnings.add(i); 
     } 

     arrayAdapter = new ArrayAdapter(inflater.getContext(), android.R.layout.simple_list_item_1, warnings); 
     setListAdapter(arrayAdapter); 

     //View view = inflater.inflate(R.layout.activity_other, container, false); 

     return super.onCreateView(inflater,container,savedInstanceState); 
    } 

    @Override 
    public void onItemClick(AdapterView adapter, View view, int position, long id) { 

    } 
    @Override 
    public void onListItemClick(ListView l, View v, int position, long id) { 
     ListItemFragment listItemFragment = new ListItemFragment(); 

     FragmentManager manager = getChildFragmentManager(); 
     android.support.v4.app.FragmentTransaction ft = manager.beginTransaction(); 

     ft.replace(android.R.id.tabcontent, listItemFragment); 
     ft.attach(listItemFragment).addToBackStack(null).commit(); 

    } 

它似乎不喜歡android.R.id.tabcontent。

我有其他的孩子的碎片工作正常。

請幫忙。

+0

後從logcat的錯誤吧。 – doorstuck

+0

java.lang.IllegalArgumentException:沒有爲ID 0x1020011(android:id/tabcontent)查找片段ListItemFragment {41e65368#0 id = 0x1020011} – shailu0827

+0

是否足以找出問題,我無法將整個錯誤日誌粘貼到此處。 – shailu0827

回答

0

你在xml中嵌入了片段嗎?您只能以編程方式添加嵌套片段。請參閱文檔here

+0

不,我不是在xml中嵌套片段我正在以編程方式進行操作。讓我更新代碼。 – shailu0827

0

我遇到的問題是,當我已經在片段中時,我試圖附加片段。

這應該通過分離當前片段並附加另一個片段來完成。

現在我的應用程序工作得很好。

事情是這樣的:

ft.detach(getParentFragment()).replace(android.R.id.tabcontent, fragment); 
ft.attach(fragment).addToBackStack(null).commit();