我在ActionBar
Button
使用以下代码,它可以返回上一个Activity
并显示Toast
。
case android.R.id.home:
Toast.makeText(getApplication(),"A",Toast.LENGTH_SHORT).show();
onBackPressed();
return true;
如果我在模拟器中按回,则不显示Toast。所以我决定添加这个
public void onBackPressed()
{
Toast.makeText(getApplication(),"A",Toast.LENGTH_SHORT).show();
return;
}
添加后,当我按下模拟器中的后退按钮时,它会显示Toast
但不会返回上一个Activity
。我点击了ActionBar
Button
,发生了同样的事情。
答案 0 :(得分:2)
尝试运行超级方法:
public void onBackPressed()
{
super.onBackPressed();
Toast.makeText(getApplication(),"A",Toast.LENGTH_SHORT).show();
}
它将调用正常的反压,并显示Toast
答案 1 :(得分:1)
你必须覆盖onBackPressed()
方法,然后把你的Toast放在那里
@Override
public void onBackPressed()
{
super.onBackPressed();
Toast.makeText(getApplication(),"A",Toast.LENGTH_SHORT).show();
}
答案 2 :(得分:0)
我会实现一个对话框询问用户是否要退出,然后调用super.onBackPressed()(如果有的话)。
@Override
public void onBackPressed() {
new AlertDialog.Builder(this)
.setTitle("Really Exit?")
.setMessage("Are you sure you want to exit?")
.setNegativeButton(android.R.string.no, null)
.setPositiveButton(android.R.string.yes, new OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
WelcomeActivity.super.onBackPressed();
}
}).create().show();
}
在上面的示例中,您需要将WelcomeActivity替换为您的活动名称。
答案 3 :(得分:0)
删除此代码
case android.R.id.home:
Toast.makeText(getApplication(),"A",Toast.LENGTH_SHORT).show();
onBackPressed();
return true;
只需使用此覆盖方法
@Override
public void onBackPressed()
{
super.onBackPressed()
Toast.makeText(getApplication(),"A",Toast.LENGTH_SHORT).show();
}
当你按下后退按钮时,它会由android自己调用。 你不需要把它叫做yourslef。