gpt4 book ai didi

java - 我的应用程序由于对话框而崩溃

转载 作者:行者123 更新时间:2023-12-02 12:25:38 25 4
gpt4 key购买 nike

@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();
}

当我按后退按钮时,此应用程序崩溃。

最佳答案

您正在显示一个包含应用程序上下文的对话框。这在 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(第一个参数)引用您当前的 Activity ,因此这应该可以解决您的问题

关于java - 我的应用程序由于对话框而崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48056785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com