gpt4 book ai didi

android - 更改 SharedPreferences 后的 AlertDialog onBackPressed - 没有任何反应

转载 作者:太空狗 更新时间:2023-10-29 15:04:16 25 4
gpt4 key购买 nike

我正在创建 AlertDialog onBackPressed,带有 Exit 和 Rate App 按钮。AlertDialog 将只显示一次,如果 person rate app,那部分工作正常。但问题是,有人评价应用程序后, boolean 值发生变化,应用程序将不会显示 AlertDialog,因此 onBackPressed 将被禁用。我该如何改变它?这是我的代码:

 @Override
public void onBackPressed() {

final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
if (!prefs.getBoolean("firstTime", false)) {
new AlertDialog.Builder(this)
.setCancelable(false)
.setTitle("Rate us")
.setMessage("Thank you for choosing our app! We will be very thankful if you can spend your valuable time to give this app a good rate in Google Play market!")
.setPositiveButton("Rate us", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Uri uri = Uri.parse("market://details?id=" + getPackageName());
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);

SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean("firstTime", true);
editor.commit();
}
})
.setNegativeButton("Exit", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
((Activity) context).finish();
}
})

.show();


};

}


}

我加了

if (!prefs.getBoolean("firstTime", true)){
((Activity) context).finish();
}

但它什么也没做。 onBackPressed 仍然被禁用。总结一下:第一次更改 boolean 值后,onBackPressed 被禁用,我无法使用该按钮离开/关闭应用程序。我该如何解决?

最佳答案

简单的只需添加 else 部分来处理这样的问题:

@Override
public void onBackPressed() {
super.onBackPressed();


final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
if (!prefs.getBoolean("firstTime", false)) {
//show your dialog
}else{
super.onBackPressed();
}
}

关于android - 更改 SharedPreferences 后的 AlertDialog onBackPressed - 没有任何反应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23405146/

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