2016-04-14 75 views
1

活性A被用於我的應用程序 主發射活動A在某些條件 活動C是設置活動的Android無法觸發機器人:parentActivityName

的Android Manifest- C開始活動的B是B的父,如圖所示如下:

<activity 
      android:name=".view.ActivityB" 
      android:label="@string/title_activity_favorite" 
      android:parentActivityName=".view.ActivityC"> 
      <!-- Parent activity meta-data to support 4.0 and lower --> 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value=".view.ActivityC" /> 
     </activity> 

流量:

  1. 我啓動應用程序,活動A被稱爲
  2. A當我在狀態欄點擊 後退按鈕了B
  3. ,我被路由到C.沒有任何線索,爲什麼 是這種情況正在發生
+0

你可以分享你ActivityB類代碼嗎?你是否也設置了HopeAsUp? – Eenvincible

回答

0

你必須瞭解的活動是如何開始的問題並完成。舉個例子,如果活動A啓動活動B,它並不意味着系統正在創建活動C(因爲是B的父級)將它插入到A和B之間,這就是爲什麼當按下back時活動A重新開始。要在A和B之間添加活動C而不明確創建它,請閱讀this post,瞭解如何創建正確的後退導航。如果您有任何問題,請回複評論。

+0

實際上,海報是正確的。他沒有按下後退按鈕,他正在按回車按鈕,應該返回到清單中指定的父活動。至少基於我對android文檔的理解。 – dvallejo

0

這裏是困惑:

了Android Back Button呼喚(膨化)返回堆棧的頂部,這樣,如果不手動操縱,它包含了過去所謂的活動。在你的情況Activity A調用前Activity B所以返回堆棧的頂部是Activity A

但在Android另一回軟按鈕,顯示如下圖:

enter image description here

是通常顯示在屏幕的左上角。此按鈕的行爲在您的Manifest中描述。所以,如果你是在Activity B和你按下這個按鈕,你會去Activity C而不是Activity A

您可以手動更改Back Button的行爲與TaskStackBuilder

+0

它不起作用。我有同樣的問題。似乎parentActivityName需要被設置,但被忽略,並且總是返回到啓動器活動。在這種情況下,與按下「後退」按鈕的效果相同。 – dvallejo