Viewflipper如何处理Android中的后退按钮?

问题描述:

我正在考虑使用ViewFlipper作为活动等向导。但是我发现这种方法存在一个问题。后退按钮。后退按钮是否会返回到上次显示的活动,或者Viewflipper是否会捕获后退按钮事件,并且只会更改为上次显示的活动?Viewflipper如何处理Android中的后退按钮?

我怀疑ViewFlipper被视为BackStack上的一个Activity,所以看起来这是向导的错误说法。它是否正确?

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

@覆盖 公共无效onBackPressed(){

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

}