仅在特定活动页面后显示警报对话框

时间:2013-04-09 07:12:47

标签: android dialog

我有一个登录页面。当用户正确登录时,我想显示一个警告对话框,说明您的登录详细信息已经过验证。点击继续进行。现在我想在下一个活动中显示此警报对话框登录后的页面。 这是警报对话框代码 - :

SharedPreferences settings = getSharedPreferences(PREFS_NAME,0);          boolean dialogShown = settings.getBoolean(“dialogShown”,false);

     if (!dialogShown) {
           AlertDialog.Builder builder = new Builder(Myperwallet.this);
           builder.setTitle("Fast Cashier!");
           builder.setMessage("Logging In");
           builder.setPositiveButton("Continue", new DialogInterface.OnClickListener() {
               @Override
               public void onClick(DialogInterface dialog, int which) {
                   dialog.cancel();
       //continue activity here....

               }
           });  

           builder.create().show();
             // AlertDialog code here


     }



       SharedPreferences.Editor editor = settings.edit();
       editor.putBoolean("dialogShown", true);
       editor.commit(); 

我尝试了这个但是现在警报对话框在我退出后不会显示。我需要知道当我按下注销按钮时如何将标志设置为true。这是我的注销按钮功能 - :

 logout.setOnClickListener(new OnClickListener() {   
              public void onClick(View v) {

                AlertDialog alertDialog = new AlertDialog.Builder(Myperwallet.this).create(); 
                alertDialog.setTitle("FastCashier:");
                alertDialog.setMessage("Are you sure you want to exit?");
                alertDialog.setButton( Dialog.BUTTON_POSITIVE, "Yes", new DialogInterface.OnClickListener() {
                   public void onClick(DialogInterface dialog, int which) {

                       Intent logout = new Intent(Myperwallet.this,Login.class);
                       startActivity(logout);

                   }
                   });

                alertDialog.setButton( Dialog.BUTTON_NEGATIVE, "NO", new DialogInterface.OnClickListener()    {
                  public void onClick(DialogInterface dialog, int which) {

                      dialog.cancel();

                  }
                  });

                alertDialog.show();  
              }
            });

3 个答案:

答案 0 :(得分:0)

您需要在当前代码中添加一些实现 你可以在sharedPrefs中保留一个标志,最初它会是真的。在第一次显示之后将其设为假 这是你现在必须实现的。

因此,在注销后再次显示它,当用户注销时将标志重置为true。因此,当您到达活动时,将显示对话框。

答案 1 :(得分:0)

实际上无法得到更多问题,但是您希望在某些AlertDialog Optionnale中展示您的Requirement,例如在Login时显示,然后在下一页中显示Required但由于SharedPreferences在应用程序开始时仅显示一次。当我退出然后登录时,我没有得到任何alert dialog

SharedPreferences做的是用钥匙存储你的特定Sting,你需要与之匹配。在suceessufully之后你需要Update SharedPreferences一些新的String并且需要匹配它。

您也可以使用File检查isExit()是否写入需要Sting it和Read it并匹配您需要条件才能显示alert dialog。这可能会帮助你。

答案 2 :(得分:0)

跟踪活动流程,即当你启动应用程序时,它正在onCreate方法中执行的操作,on on create方法中的问题集标记,以及当您从任何其他活动切换到此实现时在Restart()上清除你之前的数据.... 像这样...

protected void onRestart() {
    // TODO Auto-generated method stub
    super.onRestart();

    //ur code
}

希望它会有所帮助,