0

alertDialog当我在模拟器或设备上强制关闭我的应用程序时,当我转到该设备或模拟器上的应用程序以再次启动我的应用程序时,我遇到了另一个问题alertDialog。不久前,我在此链接中遇到了与此类似的问题,警报对话框的共享首选项使我的应用程序无响应,我认为我的所有问题都一劳永逸地解决了。所以有人可以帮我解决这个问题。

    final SharedPreferences settings = getSharedPreferences("pref_name", 0);
    ("installed", false);

        final AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);

        alertDialog.setTitle("Title");
        alertDialog.setIcon(R.drawable.ic_launcher);
        alertDialog.setAdapter(new MyAdapter(), null);

        alertDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {

            public void onClick(DialogInterface dialog, int which) {
                SharedPreferences.Editor editor = settings.edit();
                editor.putBoolean("installed", true);
                editor.commit();

            }
        });

        alertDialog.show();

如果您需要我详细说明,请告诉我

4

1 回答 1

0
final SharedPreferences settings = getSharedPreferences("pref_name", 0);
boolean dialogAlreadyShown = settings.getBoolean("installed", false);

if (dialogAlreadyShown == false) {
   showTheDialogYouWannaShow();
   settings.edit().putBoolean("installed", true).commit();
}

像这样,下次运行这段代码,对话框就不会显示了……你也可以保存对话框的onClick上的设置,但是如果用户不点击对话框上的按钮,对话框就会可能会显示多次,直到用户按下按钮,这也可以,具体取决于您的要求。

注意:在showTheDialogYouWannaShow () 中,我假设您正在放置代码来构建问题中已经出现的警报对话框。

于 2013-09-29T12:27:09.067 回答