如何在保存的后台堆栈上的Fragments之前加载组件

时间:2014-01-10 00:09:33

标签: android android-fragments

我需要加载将由片段共享的活动组件。我的源在第一次创建活动时工作正常;加载组件,然后添加片段。但是,如果再次创建活动,则在状态丢失后,会在调用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();
    }
}   

1 个答案:

答案 0 :(得分:0)

由于您正在使用Fragments,我建议您创建一个BaseFragment类并在那里加载所有组件。然后将此BaseFragment类扩展为您正在创建的所有片段,并使用已加载的组件进行显示。