在我的主菜单中,我尝试使用手机上的后退按钮和AlertDialog
完成应用。
这是我的代码:
Button zumspiel;
Button lineup;
Button social;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_menu);
lineup = (Button) findViewById(R.id.btLineup);
lineup.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent lineup = new Intent(MainMenu.this, LineUp_Auswahl.class);
startActivity(lineup);
}
});
zumspiel = (Button) findViewById(R.id.btZumSpiel);
zumspiel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent spiel = new Intent(MainMenu.this, VormSpiel.class);
startActivity(spiel);
}
});
social = (Button) findViewById(R.id.btSocial);
social.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent high = new Intent(MainMenu.this, SozialeMedien.class);
startActivity(high);
}
});
}
@Override
public void onBackPressed() {
new AlertDialog.Builder(this)
.setIcon(android.R.drawable.ic_dialog_alert)
.setTitle("Wüstenfest App schließen")
.setMessage("Bist du sicher dass du die App beenden möchtest?")
.setPositiveButton("Ja!", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which) {
android.os.Process.killProcess(android.os.Process.myPid());
finish();
}
})
.setNegativeButton("Nein, natürlich nicht!", null)
.show();
}
现在我的问题是,当我在Ja
上按AlertDialog
时,当前MainMenu
活动正在关闭,但会打开一个新活动。当我再次尝试退出时,它可以工作。我的方式出了什么问题?
答案 0 :(得分:1)
不要这样做
android.os.Process.killProcess(android.os.Process.myPid());
当您的进程突然死亡时,Android会尝试重新创建它。如果您只想关闭活动,请致电finish()
或super.onBackPressed()
。
一般来说,您无论如何都不需要显示退出对话框。用户已经对BACK应该做什么有所期望。