2011-05-23 30 views
8

我這個小功能在這裏:的Android Activity.getParent()總是返回null

public Activity getRootActivity() 
{ 
    Activity a = this; 
    while (a.getParent() != null) 
     a = a.getParent(); 
    return a; 
} 

但a.getParent()始終返回null。這似乎並不重要,我的UI有多深入,它總是會返回null。

有人有什麼想法爲什麼?

編輯

下面是我開始活動(在其他活動)

startActivity(new Intent(this, activityname.class)); 

顯然,這意味着我不是 '嵌入' 呢?一個人如何「嵌入」他們?

+0

沒錯。變成空值不是問題,只有a.getParent()返回null。 – Peanut 2011-05-23 20:52:45

回答

10

文件說:公共最後活動的getParent() 自:API等級1

返回父活動,如果這種觀點是一個嵌入式的孩子。

您的活動是嵌入式孩子嗎?

+0

它應該不重要,因爲最初'a!= null'並且由於while循環條件而不能爲空。 – 2011-05-23 20:49:19

+0

不完全確定'嵌入的孩子'是什麼意思。 – Peanut 2011-05-23 20:50:05

+0

嵌入式活動最常見的情況是ActivityGroup的成員。 http://developer.android.com/reference/android/app/ActivityGroup.html – Hyperboreus 2011-05-23 20:55:33

1

Activity#getParent()

返回父活動,如果這種觀點是一個嵌入式的孩子。

活動是一個嵌入的孩子嗎?如果不是,則getParent()將返回空值。

相關問題