R
RoofFire
Neues Mitglied
- 0
Hallo Jungs,
bin nun seit einiger Zeit mit meinen Toggle Buttons beschäftigt. Es geht darum dass ich einen Toggle Button bei der erstellung der Activity je nach Gegebenheit auf on oder off schalten will.
Dafür gibt es folgende Funktionen:
toggleButton.toggle();
toggleButton.setChecked(Boolean);
Wende ich diese Methoden an bekomme ich ständig eine NullPointerException und ich weiß nicht wieso. Setzte ich die Buttons im xml auf Checked/Unchecked funktioniert es. Jedoch sollte ich den Status der Buttons in der Laufzeit ändern.
Das ändern von Werten im Programm wenn der Button checked ist oder unchecked funktioniert einwandfrei. Von daher bin ich der meinung das die Buttons richtig eingebunden sind.
Warum funktionieren diese Methoden nicht? Was mache ich falsch?
Codeausschnitt:
Hab den Code etwas abgekürzt...
bin nun seit einiger Zeit mit meinen Toggle Buttons beschäftigt. Es geht darum dass ich einen Toggle Button bei der erstellung der Activity je nach Gegebenheit auf on oder off schalten will.
Dafür gibt es folgende Funktionen:
toggleButton.toggle();
toggleButton.setChecked(Boolean);
Wende ich diese Methoden an bekomme ich ständig eine NullPointerException und ich weiß nicht wieso. Setzte ich die Buttons im xml auf Checked/Unchecked funktioniert es. Jedoch sollte ich den Status der Buttons in der Laufzeit ändern.
Das ändern von Werten im Programm wenn der Button checked ist oder unchecked funktioniert einwandfrei. Von daher bin ich der meinung das die Buttons richtig eingebunden sind.
Warum funktionieren diese Methoden nicht? Was mache ich falsch?
Codeausschnitt:
Code:
private ToggleButton tbOnOff;
//---------------------------------
private String onOff = "0";
private int typ = Weckzeitberechnung.TYPE_NORMAL;
//---------------------------------
// True if a new alarm should be made
private boolean newAlarm = false;
/** Called when the activity is first created. */
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.weckerdetail);
TimePicker wd = (TimePicker) findViewById(R.id.weckerdetail);
wd.setIs24HourView(true);
System.out.println("starttimechangedlistener");
final Bundle extra = this.getIntent().getExtras();
if (extra != null && extra.containsKey(IN_PARAM_ID)) {
id = extra.getInt(IN_PARAM_ID);
Log.d(TAG, "Empfangene Alarm ID = " + id);
newAlarm = false;
} else {
Log.i(TAG, "No ID Recived, build new Alarm");
newAlarm = true;
}
if(!newAlarm) {
initFelder();
}
tbOnOff = (ToggleButton) findViewById(R.id.tb_onOff);
tbOnOff.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// Perform action on clicks
if (tbOnOff.isChecked()) {
onOff = "1";
Log.d(TAG, "Checked");
} else {
onOff = "0";
Log.d(TAG, "Not Checked");
}
}
});
Log.d(TAG, "Done 1");
}
private void initFelder() {
AlarmTime time = Einstellungen.getAlarmTime(this, id);
if(time.getMontag() == 1) {
Log.d(TAG, "do");
//this.tbMontag.setChecked(true);
try {
this.tbMontag.toggle();
} catch(Exception e) {
e.printStackTrace();
}
Hab den Code etwas abgekürzt...