2010-03-16 71 views
6

我正在考慮使用ViewFlipper作爲活動等嚮導。但是我發現這種方法存在一個問題。後退按鈕。後退按鈕是否會返回到上次顯示的活動,或者Viewflipper是否會捕獲後退按鈕事件,並且只會更改爲上次顯示的活動?Viewflipper如何處理Android中的後退按鈕?

我懷疑ViewFlipper被視爲BackStack上的一個Activity,所以看起來這是嚮導的錯誤說法。它是否正確?

回答

4

ViewFlipper只是一個View;它沒有特別處理後退按鈕。當您使用ViewFlipper在活動上點擊後退按鈕時,無論翻轉多少次都無關緊要,您將退出該活動。

+5

這就是說,你可以趕上後退按鈕,並用它來展開的ViewFlipper然後如果ViewFlipper是空的,你可以備份活動的進行。 – CaseyB 2010-03-16 16:22:34

+2

確實如此,但活動指南指出您不應該接管後退按鈕,除非您絕對需要:http://developer.android.com/intl/zh-TW/guide/practices/ui_guidelines/activity_task_design.html# taking_over_back_key – 2010-03-16 16:35:32

1

@覆蓋 公共無效onBackPressed(){

int displayedChild = viewFlipper.getDisplayedChild(); 
    if (displayedChild>0) { 
     viewFlipper.setDisplayedChild(displayedChild-1); 
    } 
    else{ 
     super.onBackPressed(); 
    } 

}