如果我清除了片段的容器视图会发生什么

时间:2013-11-21 07:44:48

标签: android fragment

它中的片段是否接收onDetach,onDestroy方法?或者我是否需要首先删除片段然后清除视图?

1 个答案:

答案 0 :(得分:0)

据我所知,你做的顺序并不重要。如果清除视图,片段的元素将从活动视图中删除,但您仍需要将其从片段管理器中删除。

例如,我在我的活动中创建了以下内容:

ViewGroup viewFragments = (ViewGroup)findViewById(R.id.layout_fragments);
viewFragments.removeAllViews();

View child = ViewGroup.inflate(mActivity, R.layout.child_edit_item, null);
viewFragments.addView(child);

Fragment f = new MyFragment();

FragmentManager mgr = mActivity.getSupportFragmentManager();
FragmentTransaction trans = mgr.beginTransaction();
if (mgr.findFragmentByTag(p.getKey()) != null) {
    trans.replace(R.id.fragment_container, f, p.getKey());
} else {
    trans.add(R.id.fragment_container, f, p.getKey());
}
trans.commit();