Kai*_*dul 11 android onresume android-fragments back-stack
我正在使用几个fragments来动态添加activity.一切正常,当我按下后退按钮时,fragments会去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;
}
Run Code Online (Sandbox Code Playgroud)
我想阻止那些fragment重新创作.我尝试过,onSavedInstanstate但没有任何工作.我怎么能做到这一点?
Arn*_*son 10
在Activity onCreateView中savedInstanceState,在调用super方法之前将其设置为null.您还可以从savedInstanceState包中仅删除"android:viewHierarchyState"和"android:fragments"键.这是简单解决方案的代码,使状态为零:
@Override
public void onCreate(Bundle savedInstanceState)
{
savedInstanceState = null;
super.onCreate(savedInstanceState);
...
}
Run Code Online (Sandbox Code Playgroud)
Iam使用5个片段,为我工作,因为我之前遇到过同样的问题。
public class MyFragmentView1 extends Fragment {
View v;
@Override
public View onCreateView(LayoutInflater inflater,
@Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
if (v == null)
v = inflater.inflate(R.layout.my_fragment_view_layout,
container, false
);
return v;
}
}
Run Code Online (Sandbox Code Playgroud)
我将视图变量放入类中,并仅在视图实例为null或使用之前创建的实例时才将其充气为新变量
| 归档时间: |
|
| 查看次数: |
11881 次 |
| 最近记录: |