Mah*_*esh 6 methods android super
大家好我想问一下,如果我在super.onDestroyView()之前写了什么东西有什么区别; 并在super.onDestroyView()之后; 见下面的例子
在super.ondestoryview()之前删除片段;
@Override
public void onDestroyView() {
try {
Fragment fragment = (getFragmentManager()
.findFragmentById(R.id.mapviews));
FragmentTransaction ft = getActivity().getSupportFragmentManager()
.beginTransaction();
ft.remove(fragment);
ft.commit();
} catch (Exception e) {
e.printStackTrace();
}
super.onDestroyView();
}
Run Code Online (Sandbox Code Playgroud)
在super.ondestoryview()之后删除片段;
@Override
public void onDestroyView() {
super.onDestroyView();
try {
Fragment fragment = (getFragmentManager()
.findFragmentById(R.id.mapviews));
FragmentTransaction ft = getActivity().getSupportFragmentManager()
.beginTransaction();
ft.remove(fragment);
ft.commit();
} catch (Exception e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
如果 super 是 Fragment,那么你怎么做就没有区别了,因为 Fragment 的 onDestroyView 什么都不做。但在某些情况下,这很重要。
正如黛安娜·哈克伯恩所说:
一般规则:在任何类型的初始化期间,让超类先完成它们的工作;在任何类型的定稿过程中,您首先要完成工作
PS 恕我直言,从其他片段的 onDestroyView 方法中删除片段不是一个好的解决方案。这很奇怪,我认为你应该找到更好的地方来管理你的碎片......
| 归档时间: |
|
| 查看次数: |
752 次 |
| 最近记录: |