我正在使用多个 fragment
动态添加到 activity
中。一切正常,当我按下后退按钮时, fragment
转到backstack
。当我 resume
它时,它出现了。但每次 Resume
时,它都会重新创建 fragment
并调用 onCreateView
。我知道这是 fragment
生命周期的正常行为。
这是我的onCreateView
:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(
R.layout.competitive_programming_exercise, container, false);
return rootView;
}
我想阻止那些 fragment
重新创建。我尝试使用 onSavedInstanstate
但没有任何效果。我怎样才能做到这一点?
最佳答案
在调用 super 方法之前,在 Activity 的 onCreateView
中将 savedInstanceState
设置为 null。您还可以仅从 savedInstanceState 包中删除键“android:viewHierarchyState”和“android:fragments”。这是简单解决方案的代码,使状态无效:
@Override
public void onCreate(Bundle savedInstanceState)
{
savedInstanceState = null;
super.onCreate(savedInstanceState);
...
}
关于android - 停止在恢复后重新创建 fragment ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18428152/