我需要加载将由片段共享的活动组件。我的源在第一次创建活动时工作正常;加载组件,然后添加片段。但是,如果再次创建活动,则在状态丢失后,会在调用super.onCreate(savedInstanceState)
时再次创建片段。如何在super.onCreate
之前加载组件以避免此失败?
源代码:
protected void onCreate(Bundle savedInstanceState){
//Cannot load components here
super.onCreate(savedInstanceState); //Here activity restores fragments state, when the activity restores from state loss
components.load();
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction().add(android.R.id.content, new FragmentLoader()).commit();
}
}
答案 0 :(得分:0)
由于您正在使用Fragments,我建议您创建一个BaseFragment类并在那里加载所有组件。然后将此BaseFragment类扩展为您正在创建的所有片段,并使用已加载的组件进行显示。