我有一个登录页面。当用户正确登录时,我想显示一个警告对话框,说明您的登录详细信息已经过验证。点击继续进行。现在我想在下一个活动中显示此警报对话框登录后的页面。 这是警报对话框代码 - :
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();
}
});
答案 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
}
希望它会有所帮助,