2012-02-22 79 views
0

我在我的Android應用程序的一些奇怪的效果。後退按鈕按預期工作不TabGroupActivity和ViewSwitcher

我用TabGroupActivities每個標籤有TabHoster。除Back按鈕的行爲以外,其他作品都很不錯。

活動是啓動和響應後退按鈕。然後我用ViewSwitcher開始一個兒童活動。當我在視圖上點擊「後退」按鈕時,活動按預期解除。但它得到通過我的活動的onBackPressed()

當我打在視圖B後退按鈕(的DetailView ==真)的方法也都不調用。取而代之的是,TabGroupActivity的onBackPressed()被調用,我不能切換回第一視圖。

@Override 
public void onBackPressed() { 
    if (detailView == true){ 
     vf.showPrevious(); 
     detailView = false; 
    } 
    else { 
     super.onBackPressed(); 
    } 
return; 
} 

任何人都可以解釋和/或告訴我如何在一個的ActivityGroup的作業視圖之間切換?

+0

在標籤分組活動,已被棄用,不應該使用。它的越野車,醜陋,從來沒有很好的工作。改用碎片並用FragmentTransaction.replace()在它們之間切換。片段堆棧中的處理會幫助你,如果你在onBackPressed叫popbackstack切換回。我添加了這個作爲評論,因爲它不完全回答你的問題。 – 2012-02-22 15:42:57

+0

我敢肯定你是對的,但片段已經推出了採用Android 3.0(API等級11),並且將離開用戶的80%以上了。 [源(http://gigaom.com/mobile/android-fragmentation-not-so-bad-says-localytics/)所以這不是一個選項。 – 2012-02-23 07:56:09

+0

它不會,它實際上是一個選項。您可以使用適用於Android 1.5及更高版本的應用的片段,因爲有官方支持包可以將它們反向移植。 Se http://developer.android.com/sdk/compatibility-library.html。只需包括jar,擴展FragmentActivity並享受! – 2012-02-23 08:21:19

回答

0

幾天後,我來到了,這是我的情況最簡單的解決扔掉ViewSwitching的東西,轉移他們單獨活動的結論。

塞巴斯蒂安·奧爾森與片段確實正確,但是這將是我的具體應用來重建一切碎片更多的努力。