簡體   English   中英

什么時候可以訪問活動的onCreate中創建的片段?

[英]When is a Fragment created in the Activity's onCreate accessible?

我在活動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中創建我的視圖似乎也沒有幫助。

SlateFragment以下兩個原因將默認值緩存在SlateFragment中:

  1. 您不再依賴Fragments生命周期,可以在創建Fragment之后立即進行設置
  2. 每次顯示Fragment時都會調用onCreateView() (例如,在旋轉屏幕后),因此,由於View是新創建的,因此您將丟失默認值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM