我希望后退按钮的行为类似于例如
// 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
这可能吗?如果是这样,我需要做什么?
我希望后退按钮的行为类似于例如
// 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
这可能吗?如果是这样,我需要做什么?
是的。
覆盖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
}
}
可能有更好的方法来检查您正在进行的活动!
是否有可能:您必须覆盖 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。