2012-02-18 96 views
8

Activity可能會膨脹一個任意佈局xml,其中可能有或可能沒有Fragment佔位符。活動是否有辦法知道剛剛創建了哪個片段?

如果有,Fragment將被實例化並附加到Activity

有沒有辦法從Activity中得到對Fragment的引用?

FragmentManger.findFragmentById()假設您事先知道該ID以使其正常工作,但在這種情況下,我提議,它不可用。

我理想的行爲是Activity知道任何Fragment附加到它,以便它可以響應它。

回答

25

無論何時一個片段被附加到一個活動中,下面的回調方法被調用時附帶的片段作爲參數,您可以使用它存儲引用。

onAttachFragment(Fragment fragment) 

http://developer.android.com/reference/android/app/Activity.html#onAttachFragment(android.app.Fragment)

+0

uggh我是個瞎子,THX – 2012-02-18 11:58:40

+0

該死的,onAttachFragment告訴你什麼時候該片段連接,但它不會告訴你,當它準備與IE後fragment.onActivityCreated() – 2012-02-18 13:44:09

+5

來工作了你可以在你的片段中有一個回調,就像你的活動實現的片段中的一個接口一樣......所以當片段準備就緒時,你可以調用回調...爲了使用它,你可以在onAttachFragment中設置活動的引用。 ..這可能也有幫助 http://developer.android.com/guide/topics/fundamentals/fragments.html#Communica tingWithActivity – iago 2012-02-18 15:43:33

相關問題