2017-06-22 80 views
0

我有活動A和B.活動B由應用程序關閉時的服務啓動,活動A不在堆棧上。活動A具有B需要訪問的成員。即使活動B是從服務啓動的,我也希望主頁按鈕從活動B打開活動A.有沒有辦法將活動A注入堆棧?如何初始化其他活動的活動

+1

'活動A的成員B需要訪問'這是應用程序體系結構中的問題。它不應該是這樣。 –

回答

1

在你Service開始ActivityAActivityB和一些參數傳遞到ActivityA ..並在ActivityAOnCraete方法啓動ActivityB ...你現在有兩個在堆棧中。

+0

我喜歡這個想法,讓我試試 –

+0

但是如果活動是A已經打開了,我會在棧上添加另一個主要活動嗎? –

+0

我不知道你的應用程序流是什麼。但是,它取決於應用程序的結構,在什麼情況下你開始活動。順便說一句,你可以做一個單一的活動。或者你可以檢查活動是否在前臺。 –

0

您可以使用android:parentActivityName屬性(和相應的元素)在清單文件中聲明每個活動的邏輯父項,以實現主頁按鈕的工作。

並添加活動回棧 檢查此link瞭解更多詳情。

+0

我已經在我的xml中擁有該屬性。我認爲它不像你描述的那樣工作。 –

+0

你有沒有覆蓋你的主頁onclick? –

+0

https://stackoverflow.com/questions/19207762/must-i-specify-the-parent-activity-name-in-the-android-manifest –

0

這不是一個好的決定,更好地使用B活動中的成員,並且一旦活動B啓動並且它即將離開僅僅意圖活動A。 您也可以檢查活動A是否已經在堆棧。如果已經在堆棧中,它將自動彈出,如果沒有找到,可以通過語法觸發它。

+0

SRB對於從活動B開始活動A有個好主意,但是如果活動A已經在堆棧上呢? –

+0

有一個例程來檢查堆棧。否則,您可以在活動A的生命週期中使用標誌! – Exceptional