【问题标题】:Boolean conditions java布尔条件 java
【发布时间】:2016-07-01 09:50:43
【问题描述】:

我有课,有一些变量。其中一个是布尔变量,控制在数组中的移动(如果是真的,从头开始,如果是假,从记住的位置开始)

这是布尔变量的一部分。

boolean fromStart;
fromStart = vars.isFromStart();
public void setFromStart(boolean fromStart) {
    this.fromStart = fromStart;
}   


public boolean isFromStart() {
    return fromStart;
}

这就是我使用这个 bool var 的方式

 if (vars.isFromStart){
            i = 0;
            vars.setFromStart(false);
        }
        else {
            loadPos(i);
            i = getIntent().getIntExtra(pos, i);
        }

这是代码,我尝试更改值:

public void fromLastClick(View view) {
    var.setFromStart(false);
    Intent intent = new Intent(MainActivity.this,SecondActivity.class);
    startActivity(intent);

public void startClick(View view) {
    var.setFromStart(false);
    Intent intent = new Intent(MainActivity.this,ChangeFacts.class);
    startActivity(intent);

}

但它总是从头开始(看起来 bool 变量总是正确的)。我做错了什么?

【问题讨论】:

  • if 语句检查变量 fromStart。但它似乎是之前设置的(使用 vars.isFromStart() )尝试使用 if (vars.isFromStart())

标签: java android class variables


【解决方案1】:

在没有看到完整代码的情况下,您似乎将值 false 分配给名为 fromStart 的布尔值,该值位于名为“vars”的对象中,但您正在检查主类中的同名布尔变量,而不是“变量”对象

尝试修改你的 if 条件:

if (vars.isFromStart())

【讨论】:

  • 我稍微改变了我的描述。你能看看吗?
  • 你能展示整个 var 类吗?它有时称为 vars,有时称为 var。另外,您正在初始化一个类中的 var 对象并在另一个类中使用它们?如果是这样,您是否共享您的 var 对象?
猜你喜欢
  • 2016-10-29
  • 2017-01-10
  • 2016-01-14
  • 1970-01-01
  • 1970-01-01
  • 2011-06-17
  • 2013-07-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多