我正在创造&在我的活动onCreate方法中附加一个片段:
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
mSlateFragment = new SlateFragment();
fragmentTransaction.add(R.id.root, mSlateFragment);
fragmentTransaction.commit();
之后,我还将我的搜索栏设置为默认值,为此,我必须访问刚刚创建的mSlateFragment对象:
mSlateFragment.mSlate.setProperty(33);
然而,这个电话会引起我的应用程序崩溃。在onStart中进行此调用可以解决崩溃问题,但是由于我只设置默认值而不想在每次活动到达前台时重置它们,因此会出现问题。
我尝试访问的mSlate对象是在我的片段的onCreateView中创建的(它是一个视图)。
是否有关于FragmentActivity及其片段的生命周期如何交织在一起的信息?有没有办法让我的电话工作?在其片段的oncreate中创建我的视图似乎也没有帮助。
答案 0 :(得分:0)
我会在SlateFragment
中缓存默认值,原因有两个:
onCreateView()
(例如在屏幕旋转之后),因此您将丢失默认值,因为视图是新创建的。