2017-01-06 13 views
1

このコードをスイッチで使用して、リスナーが機能しているかどうかを確認します。問題は、アプリケーションが常に「スイッチ状態」が真であることを記録することです。これは、コメントアウトされたコードを使用するときの動作にも反映されます。スイッチのOnCheckedChangeListenerが機能していません。 Android/Java

Switch mainNetworkSwitch = (Switch) findViewById(R.id.networkMainSwitch); 

mainNetworkSwitch.setOnCheckedChangeListener(new 
CompoundButton.OnCheckedChangeListener() { 
      @Override 
      public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 

       if(isChecked = true){ 
        //notificationManager.cancel(1); 
        Log.v("Switch State=", "True"); 
       }else{ 
        //notificationManager.notify(2, notificationWarning); 
        Log.v("Switch State=", "False"); 
       } 
      } 
     }); 
+2

に '='代入演算子、プリミティブの平等のための '' ==チェックがあります。したがって、 'if'文は' = 'ではなく' == 'を使うべきです(あるいは単に' if(isChecked){...} 'を使用してください) –

+0

ありがとう!あなたが答えとして投稿するなら、私はそれを正しいものとしてマークすることができます。 –

+1

この質問は、単純な構文エラー(クロージャの理由)のほうが多く、これは複製として閉じられる可能性があるという多くの質問があります。 –

答えて

2

比較のために、変数には二重等号を使用します。

if(isChecked = true) 

変更

if(isChecked == true) 
関連する問題