0
아래의 간단한 활동에 문제가 있습니다. 이 액티비티에서 내 체크 박스의 상태를 정의하는 전역 변수가 있습니다. 변수 = 0이면 체크 박스는 체크되지 않습니다. 그렇지 않으면 = 1이고 체크 박스가 체크됩니다. 내가 활동을 시작할 때 그 전역 변수의 값에 따라 체크 박스 상태를 체크해야한다. 문제는 여기에 있습니다 : on.setChecked없이Android setChecked (true) 충돌 앱
if(o == 1){
on.setChecked(true);
czas.setEnabled(true);
}
은 (참) 모든 것이 잘 작동합니다. 그러나 활동 시작시 확인란을 true로 설정하면 앱이 다운됩니다. 활동의
코드 :
public class Ustawienia extends Activity {
SeekBar czas;
CheckBox on;
EditText sekundy;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ustawienia);
final Globalne globalVariable = (Globalne) getApplicationContext();
sekundy = (EditText) findViewById(R.id.editText1);
sekundy.setText("0");
czas = (SeekBar) findViewById(R.id.seekBar1);
int o = globalVariable.getOdswiez();
if(o == 1){
on.setChecked(true);
czas.setEnabled(true);
}
czas.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
sekundy.setText(Integer.toString(progress));
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
});
on = (CheckBox) findViewById(R.id.checkBox1);
on.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked){
czas.setEnabled(true);
globalVariable.setOdswiez(1);
}else{
czas.setEnabled(false);
globalVariable.setOdswiez(0);
}
}
});
}
}
사소한. 'on'은 결코 초기화되지 않습니다. (오타로 닫히기위한 표시) – njzk2