2016-07-01 7 views
-2

私はいくつかのヴァースを持っているクラスを持っています。それらのうちの1つはブール変数であり、配列を介した移動を制御します(trueの場合は最初から、偽の場合は覚えた位置から開始します)。ブール条件java

ここはブール変数の一部です。

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


public boolean isFromStart() { 
    return fromStart; 
} 

、これは私がこのブール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変数のように常に真です)。私は何が間違っている?

+0

ザ・バリアブルfromStartのステートメントかどうかをチェックします。しかし、それは(vars.isFromStart()を使用して)前に設定されているようですif(vars.isFromStart()) –

答えて

2

"vars"というオブジェクトの中のfromStartというブール値にfalseという値を割り当てているようですが、メインクラスのブール変数をメインクラスの代わりにチェックしているようですオブジェクトを「VARS」

状態ならば、あなたを修正してみてください。

if (vars.isFromStart()) 
+0

私は少し私の説明を変更しました。 plsを見ることができますか? –

+0

varクラス全体を表示できますか? varsと呼ばれることもありますが、varと呼ばれることもあります。また、クラス内のvarオブジェクトを初期化し、別のクラスでそれらを使用していますか?もしあなたのvarオブジェクトを共有しているのですか? – SCouto