@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onBackPressed() {
AlertDialog.Builder builder = new AlertDialog.Builder
(getApplicationContext(), android.R.style.Theme_DeviceDefault);
builder.setTitle("Exit").setMessage("Do you really want to Exit ? ")
.setPositiveButton(" Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
System.exit(1);
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
});
AlertDialog dialog = builder.create();
dialog.show();
}
当我按下后退按钮时,此应用程序崩溃。
您正在显示Dialog
带有应用程序上下文的 。这在 Android 中是不允许的,因为Dialog
需要Activity
将自身附加到
改变这一行
AlertDialog.Builder builder = new AlertDialog.Builder(getApplicationContext(), android.R.style.Theme_DeviceDefault);
成这个
AlertDialog.Builder builder = new AlertDialog.Builder(this, android.R.style.Theme_DeviceDefault);
当您使用Activity
(从代码的外观)时,this
(第一个参数)指的是您当前的活动,因此这应该可以解决您的问题
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句