2014-06-07 16 views
1

我想了解startActivityFromChild APIandroid startActivityFromChild - 使用API​​

描述說:

This is called when a child activity of this one calls 
its startActivity(android.content.Intent) 
or startActivityForResult(android.content.Intent,int) method. 

我明白,孩子的活動是指電流(parent)調用的活動。評論表明,當調用startActivity()時,這個API被稱爲child,那麼爲什麼說明書寫父項(這是子項活動)?

有人可以舉例說明如何使用此API?

回答

1

這裏提到的活動之間的父/子關係是而不是實際上是活動與通過startActivity()啓動的活動之間的關係。

它是指嵌入式活動,如一個TabActivity(現在已廢棄),或在一般的ActivityGroup內部父 - 但坦率地說,我不知道ActivityGroup任何其他子類,所以「一般」可能是不必要的。 :)

它基本上用於將一些事件重定向到父項。例如:

public boolean onCreateOptionsMenu(Menu menu) { 
    if (mParent != null) { 
     return mParent.onCreateOptionsMenu(menu); 
    } 
    return true; 
} 

如果父項是調用者活動,則此實現無意義。但是,對於製表符,您需要希望父級活動顯示其當前(顯示)選項卡的菜單。

有很多doXfromChild()方法,它們都與這種情況有關(一個孩子要求其父活動做某事)。

簡而言之,與Fragments出爐後,這些API相關的功能大多被棄用。

+0

所以這個API不再有用了嗎? – Jake

+0

那麼,雖然不推薦使用,但TabActivity仍然是一個有效的類。 'LocalActivityManager'有一些用例。但他們大多被碎片取代。 – matiash

+0

@Jake擴展了一下。希望現在更清楚。 – matiash