我想自定义活动后退按钮在行动栏,而不是在硬键后退按钮。我已经重写了onBackPressed()
方法。它可以使用我的模拟器的后退按钮,但不能使用操作栏的后退按钮。
我希望它发生在动作栏上。我该怎么做呢?
下面是我的代码:
@Override
public void onBackPressed() {
Toast.makeText(getApplicationContext(),"Back button clicked", Toast.LENGTH_SHORT).show();
return;
}
我使用了这个敬酒词,无论后按是否正常工作,但实际的实现更改类似于返回到先前的活动。但这不适用于操作栏顶部的按钮(除了活动的标题)。
请任何人都能给我指明问题所在。
发布于 2013-01-21 19:38:46
我认为您想要覆盖主页按钮的单击操作。您可以在您的活动中像这样覆盖此功能。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Toast.makeText(getApplicationContext(),"Back button clicked", Toast.LENGTH_SHORT).show();
break;
}
return true;
}
发布于 2015-01-07 06:02:36
如果您希望ActionBar后退按钮的行为方式与硬件后退按钮相同:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
onBackPressed();
return true;
}
return false;
}
发布于 2015-08-14 00:14:26
要记住的两件事是,用户可以按back按钮或按actionbar home按钮。
所以,如果你想把他重定向到同一个目的地,你可以这样做。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
onBackPressed();
return true;
}
return false;
}
@Override
public void onBackPressed() {
super.onBackPressed();
Intent intent = new Intent(CurrentActivity.this, NextActivity.class);
startActivity(intent);
finish();
}
这将把用户带到按下键或操作栏按钮的意图。
https://stackoverflow.com/questions/14437745
复制相似问题