-1

我希望后退按钮的行为类似于例如

// if I have an Item count > 1 and I'm not on ItemsListActivity
    // back button takes me to ItemsListActivity
// else
    // back button behaves like normal

这可能吗?如果是这样,我需要做什么?

4

2 回答 2

1

是的。

覆盖onBackPressed()

( http://developer.android.com/reference/android/app/Activity.html#onBackPressed() )

当活动检测到用户按下返回键时调用。默认实现只是完成当前活动,但您可以覆盖它来做任何您想做的事情。

因此,您可以执行以下操作:

@Override
public void onBackPressed(){
    if (count > 1) && (!(this instanceof ItemsListActivity)) {
        // Launch ItemsListActivity / do whatever you want
    }
    else {
        super.onBackPressed(); // Do the normal back press functionality
    }
}

可能有更好的方法来检查您正在进行的活动!

于 2013-06-19T08:26:37.120 回答
0

是否有可能:您必须覆盖 onKeyDown:

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
    // Check if the key event was the back button
    if ((keyCode == KeyEvent.KEYCODE_BACK) && itemCount > 1) {
        // Back button takes you to ItemsListActivity
        return true;
    }
    // Otherwise execute requested action
    return super.onKeyDown(keyCode, event);
}

顺便说一句,当用户回击时,通常他们希望返回之前的活动或退出应用程序。恕我直言,最好采用另一种方式(按钮或菜单项)来访问您的 ItemsListActivity。

于 2013-06-19T08:30:31.617 回答