我有一个名为tblclients的数据库,其中有一个名为email verify的列,该列生成0或1。0表示未验证,而1表示已验证。但是,在android studio中实现if语句不会产生预期的结果。
这是我的代码:
textfullname.setText(SharedPrefManager.getInstance(ProfileActivity.this).getUser().getFirstName()+" "+SharedPrefManager.getInstance(ProfileActivity.this).getUser().getLastName());
textCompname.setText(SharedPrefManager.getInstance(ProfileActivity.this).getUser().getCompanyName());
textEmailad.setText(SharedPrefManager.getInstance(ProfileActivity.this).getUser().getEmail());
int verification = SharedPrefManager.getInstance(ProfileActivity.this).getUser().getEmail_verified();
if (verification == 0) {
verifyemailad.setText("Email Un-verified");
}
if (verification == 1) {
verifyemailad.setText("Email Verified");
}
int verifycolor = SharedPrefManager.getInstance(ProfileActivity.this).getUser().getEmail_verified();
if (verifycolor == 0) {
linearVerified.setBackgroundColor(getResources().getColor(R.color.red_A700));
}
if (verifycolor == 1) {
linearVerified.setBackgroundColor(getResources().getColor(R.color.light_green_A700));
}
}
实现此代码并运行代码后,即使已验证登录用户,我也会看到红色背景,并且电子邮件未验证。对于经过验证的用户,预期结果必须显示绿色背景,并带有“通过电子邮件验证的文本”;对于未验证的用户,其结果必须显示红色背景,具有“未经验证的电子邮件”。
这是屏幕截图:
Screenshot of results regardless of email verification status
有人可以告诉我做错了什么吗?
答案 0 :(得分:-1)
很有可能您的验证字段为空。您可以尝试在分配后先将其打印出来,也可以放置else语句以捕获其他看不见的意外结果。