这是我第一次发帖,因为我找不到答案。我的if/else语句有点奇怪。我的代码在过去的一周里运行得很好,但是最近它一直告诉我一个声明总是正确的?
我的代码如下:
int checking = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (checking != 1) {
speaker.setChecked(true);
} else if (checking == 1) {
speaker.setChecked(false);
}
}
这说明
checking == 1
总是正确的,这是有意义的,但是如果我将它切换到:if (checking == 1) {
speaker.setChecked(true);
} else if (checking != 1) {
speaker.setChecked(false);
}
这说明
checking != 1
也总是正确的。有人能帮忙吗? 最佳答案
您看到此警告的原因是:
您已设置int checking = 1
并且正在检查:if (checking != 1)
它总是true
或checking == 1
也总是true
由于这个原因,其他else if
条件根本不会执行。
只有在运行时或在编译时使用某些条件更改checking
的值时,才会删除此警告。
如果您的目的只是设置speaker.setChecked()
,则可以执行以下操作:speaker.setChecked(checking == 1)
注意:这不会删除警告