我有嵌套片段。我有活动A有片段B有List片段,当用户从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 :(得分:0)
您是否将片段嵌套在xml中?您只能以编程方式添加嵌套片段。请参阅文档here。
答案 1 :(得分:0)
我遇到的问题,当我已经处于碎片状态时,我试图附加片段。
这应该通过分离当前片段并附加另一个片段来完成。
现在我的应用程序工作正常。
这样的事情:
ft.detach(getParentFragment()).replace(android.R.id.tabcontent, fragment);
ft.attach(fragment).addToBackStack(null).commit();