2017-03-07 5 views
0

私はチェックボックスの状態を保存し、すべてのチェックボックスをリセットするボタンがあるチェックボックスアクティビティを実行しています。Androidのすべてのチェックボックスをリセットする

チェックボックスをすべてオフにする方法が固まっています。 私はそれを行う方法についてのコードを見つけましたが、ボタンをクリックすると何も起こりませんでした。最初に1つのチェックボックスを実行しようとしましたが、成功しませんでした。私は何か悪いことをしましたか?

私がやろうとしたチェックされていないコードは、すべてのコードの下にあります。あなたはdidnの「原因、のonCreateメソッドの最後にこれらの線は

btn = (Button) findViewById(R.id.predbkReset); 

btn.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 
     if (cb1.isChecked()) { 
      cb1.setChecked(false); 
     } 
    } 
}); 

あなた のonClick方法は意味がありません

public class PreDiveBK extends Activity implements CompoundButton.OnCheckedChangeListener { 
Button btn; 
CheckBox cb1, cb2, cb3, cb4, cb5, cb6, cb7, cb8, cb9, cb10, cb11, cb12, cb13, 
     cb14, cb15, cb16, cb17, cb18, cb19, cb20, cb21, cb22, cb23, cb24; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.predbk); 

    cb1 = (CheckBox) findViewById(R.id.cb1); 
    cb1.setChecked(getFromSP("cb1")); 
    cb1.setOnCheckedChangeListener(this); 
    cb2 = (CheckBox) findViewById(R.id.cb2); 
    cb2.setChecked(getFromSP("cb2")); 
    cb2.setOnCheckedChangeListener(this); 
    cb3 = (CheckBox) findViewById(R.id.cb3); 
    cb3.setChecked(getFromSP("cb3")); 
    cb3.setOnCheckedChangeListener(this); 
    cb4 = (CheckBox) findViewById(R.id.cb4); 
    cb4.setChecked(getFromSP("cb4")); 
    cb4.setOnCheckedChangeListener(this); 
    cb5 = (CheckBox) findViewById(R.id.cb5); 
    cb5.setChecked(getFromSP("cb5")); 
    cb5.setOnCheckedChangeListener(this); 
    cb6 = (CheckBox) findViewById(R.id.cb6); 
    cb6.setChecked(getFromSP("cb6")); 
    cb6.setOnCheckedChangeListener(this); 
    cb7 = (CheckBox) findViewById(R.id.cb7); 
    cb7.setChecked(getFromSP("cb7")); 
    cb7.setOnCheckedChangeListener(this); 
    cb8 = (CheckBox) findViewById(R.id.cb8); 
    cb8.setChecked(getFromSP("cb8")); 
    cb8.setOnCheckedChangeListener(this); 
    cb9 = (CheckBox) findViewById(R.id.cb9); 
    cb9.setChecked(getFromSP("cb9")); 
    cb9.setOnCheckedChangeListener(this); 
    cb10 = (CheckBox) findViewById(R.id.cb10); 
    cb10.setChecked(getFromSP("cb10")); 
    cb10.setOnCheckedChangeListener(this); 
    cb11 = (CheckBox) findViewById(R.id.cb11); 
    cb11.setChecked(getFromSP("cb11")); 
    cb11.setOnCheckedChangeListener(this); 
    cb12 = (CheckBox) findViewById(R.id.cb12); 
    cb12.setChecked(getFromSP("cb12")); 
    cb12.setOnCheckedChangeListener(this); 
    cb13 = (CheckBox) findViewById(R.id.cb13); 
    cb13.setChecked(getFromSP("cb13")); 
    cb13.setOnCheckedChangeListener(this); 
    cb14 = (CheckBox) findViewById(R.id.cb14); 
    cb14.setChecked(getFromSP("cb14")); 
    cb14.setOnCheckedChangeListener(this); 
    cb15 = (CheckBox) findViewById(R.id.cb15); 
    cb15.setChecked(getFromSP("cb15")); 
    cb15.setOnCheckedChangeListener(this); 
    cb16 = (CheckBox) findViewById(R.id.cb16); 
    cb16.setChecked(getFromSP("cb16")); 
    cb16.setOnCheckedChangeListener(this); 
    cb17 = (CheckBox) findViewById(R.id.cb17); 
    cb17.setChecked(getFromSP("cb17")); 
    cb17.setOnCheckedChangeListener(this); 
    cb18 = (CheckBox) findViewById(R.id.cb18); 
    cb18.setChecked(getFromSP("cb18")); 
    cb18.setOnCheckedChangeListener(this); 
    cb19 = (CheckBox) findViewById(R.id.cb19); 
    cb19.setChecked(getFromSP("cb19")); 
    cb19.setOnCheckedChangeListener(this); 
    cb20 = (CheckBox) findViewById(R.id.cb20); 
    cb20.setChecked(getFromSP("cb20")); 
    cb20.setOnCheckedChangeListener(this); 
    cb21 = (CheckBox) findViewById(R.id.cb21); 
    cb21.setChecked(getFromSP("cb21")); 
    cb21.setOnCheckedChangeListener(this); 
    cb22 = (CheckBox) findViewById(R.id.cb22); 
    cb22.setChecked(getFromSP("cb22")); 
    cb22.setOnCheckedChangeListener(this); 
    cb23 = (CheckBox) findViewById(R.id.cb23); 
    cb23.setChecked(getFromSP("cb23")); 
    cb23.setOnCheckedChangeListener(this); 
    cb24 = (CheckBox) findViewById(R.id.cb24); 
    cb24.setChecked(getFromSP("cb24")); 
    cb24.setOnCheckedChangeListener(this); 

} 

private boolean getFromSP(String key) { 
    SharedPreferences preferences = getApplicationContext().getSharedPreferences("PROJECT_NAME", android.content.Context.MODE_PRIVATE); 
    return preferences.getBoolean(key, false); 
} 

private void saveInSp(String key, boolean value) { 
    SharedPreferences preferences = getApplicationContext().getSharedPreferences("PROJECT_NAME", android.content.Context.MODE_PRIVATE); 
    SharedPreferences.Editor editor = preferences.edit(); 
    editor.putBoolean(key, value); 
    editor.apply(); 
} 

@Override 
public void onCheckedChanged(CompoundButton buttonView, 
          boolean isChecked) { 
    // TODO Auto-generated method stub 
    switch (buttonView.getId()) { 
     case R.id.cb1: 
      saveInSp("cb1", isChecked); 
      break; 
     case R.id.cb2: 
      saveInSp("cb2", isChecked); 
      break; 
     case R.id.cb3: 
      saveInSp("cb3", isChecked); 
      break; 
     case R.id.cb4: 
      saveInSp("cb4", isChecked); 
      break; 
     case R.id.cb5: 
      saveInSp("cb5", isChecked); 
      break; 
     case R.id.cb6: 
      saveInSp("cb6", isChecked); 
      break; 
     case R.id.cb7: 
      saveInSp("cb7", isChecked); 
      break; 
     case R.id.cb8: 
      saveInSp("cb8", isChecked); 
      break; 
     case R.id.cb9: 
      saveInSp("cb9", isChecked); 
      break; 
     case R.id.cb10: 
      saveInSp("cb10", isChecked); 
      break; 
     case R.id.cb11: 
      saveInSp("cb11", isChecked); 
      break; 
     case R.id.cb12: 
      saveInSp("cb12", isChecked); 
      break; 
     case R.id.cb13: 
      saveInSp("cb13", isChecked); 
      break; 
     case R.id.cb14: 
      saveInSp("cb14", isChecked); 
      break; 
     case R.id.cb15: 
      saveInSp("cb15", isChecked); 
      break; 
     case R.id.cb16: 
      saveInSp("cb16", isChecked); 
      break; 
     case R.id.cb17: 
      saveInSp("cb17", isChecked); 
      break; 
     case R.id.cb18: 
      saveInSp("cb18", isChecked); 
      break; 
     case R.id.cb19: 
      saveInSp("cb19", isChecked); 
      break; 
     case R.id.cb20: 
      saveInSp("cb20", isChecked); 
      break; 
     case R.id.cb21: 
      saveInSp("cb21", isChecked); 
      break; 
     case R.id.cb22: 
      saveInSp("cb22", isChecked); 
      break; 
     case R.id.cb23: 
      saveInSp("cb23", isChecked); 
      break; 
     case R.id.cb24: 
      saveInSp("cb24", isChecked); 
      break; 
    } 
} 

public void onClick(View v) { 
    cb1 = (CheckBox) findViewById(R.id.cb1); 
    btn = (Button) findViewById(R.id.predbkReset); 

    btn.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      if (cb1.isChecked()) { 
       cb1.setChecked(false); 
      } 
     } 
    }); 
    } 
} 

答えて

0

移動:ここ

は私のコードです任意のonClickリスナーを設定する

0

リスナーをt内のButton R.id.predbkResetに登録する彼のメソッドpublic void onClick(View v)が、このメソッドを呼び出さないでください。あなたのリスナーは決して登録されておらず、一度ボタンをクリックすると通知されません。

はあなたのコードをリファクタリングしてください:

  1. は、例えばする方法public void onClick(View v)の名前を変更します

    protected void onCreate(Bundle savedInstanceState) { 
        // TODO Auto-generated method stub 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.predbk); 
        initResetButton(); 
    
        // Your other stuff 
    } 
    
:あなたの onCreatepublic void initResetButton()

public void initResetButton() { 
    cb1 = (CheckBox) findViewById(R.id.cb1); 
    btn = (Button) findViewById(R.id.predbkReset); 
    btn.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      if (cb1.isChecked()) { 
       cb1.setChecked(false); 
      } 
     } 
    }); 
    } 
  • は新しいinitResetButton -methodを呼び出す方法 -

  • 関連する問題