如果else语句没有正确执行

时间:2017-11-16 23:36:33

标签: java android

我面临一个非常奇怪的问题。我写了下面的代码。

    if (verifiedStatus.equals("1")) {
    imageView.setImageResource(R.drawable.ic_verified_user_black_24dp);
    } 
    else if (verifiedStatus.equals("0")) {
    imageView.setImageResource(R.drawable.ic_not_interested_black_24dp);
    } else {}

当代码运行时,如果值为1,则首先验证的图像会出现但稍后会更改为不感兴趣的图像。我试过调试,我看到代码进入内部文件/代码,在下面的行中,它将图像更改为另一个图像。

for (;;) {
    Message msg = queue.next(); // might block
    if (msg == null) {
        // No message indicates that the message queue is quitting.
        return;
    }

有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

你必须这样做:

if (verifiedStatus.equals("1")) {
    imageView.setImageResource(R.drawable.ic_verified_user_black_24dp);
    } 
    else if (verifiedStatus.equals("0") {
    imageView.setImageResource(R.drawable.ic_not_interested_black_24dp);
    } else {}

答案 1 :(得分:0)

首先,您不需要两个嵌套if else if else。这样做if else ifif else语句。

if (verifiedStatus.equals("1")) {
  imageView.setImageResource(R.drawable.ic_verified_user_black_24dp);
} 
else if (verifiedStatus.equals("0")) {
 imageView.setImageResource(R.drawable.ic_not_interested_black_24dp);
}

if (verifiedStatus.equals("1")) {
  imageView.setImageResource(R.drawable.ic_verified_user_black_24dp);
} 
else {
 imageView.setImageResource(R.drawable.ic_not_interested_black_24dp);
}

或使用切换器状态case 1: ..do something..break, case 2: ..do something.. break 此外,您需要使用return语句返回一些内容。

关于您的问题的一个主要问题是,它并未提供所有信息,因此,如果我的回答无法帮助您从社区中的其他人那里获得帮助,请编辑您的问题。