Viewflipper在Android中如何处理返回按钮?

6

我正在考虑在向导式活动中使用ViewFlipper。但是我发现这种方法有一个问题:返回按钮。返回按钮会回到上一个显示的活动,还是Viewflipper会捕获返回按钮事件并仅更改为上一个显示的活动?

我怀疑ViewFlipper被视为BackStack上的一个Activity,因此似乎这对于向导来说是错误的方法。这个猜测正确吗?

2个回答

4

ViewFlipper是一个视图,它不会对返回按钮进行特殊处理。当您在具有ViewFlipper的Activity上按下返回按钮时,无论它翻转了多少次,您都将退出该Activity。


5
话虽如此,您可以捕获返回按钮并使用它来展开ViewFlipper,然后如果ViewFlipper为空,您可以回退到Activity。 - CaseyB
2
确实如此,但Activity指南规定,除非绝对必要,否则不应接管返回按钮:http://developer.android.com/intl/zh-TW/guide/practices/ui_guidelines/activity_task_design.html#taking_over_back_key - Dan Lew

0

@Override public void onBackPressed() {

@Override注解表示该方法重写了父类的onBackPressed()方法。
    int displayedChild = viewFlipper.getDisplayedChild();
    if (displayedChild>0) {
        viewFlipper.setDisplayedChild(displayedChild-1);
    }
    else{
        super.onBackPressed();
    }

}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接