Radio Button - setChecked() - force close

  • 3 Antworten
  • Letztes Antwortdatum
C

Chris-Pi

Neues Mitglied
0
Hallo zusammen,

ich habe ein Problem. Ich möchte zwei RadioButton's in einer RadioGroup darstellen, das ganze soll in einem AlertDialog passieren.

Habe daher eine XML mit der RadioGroup und den zugehörigen RadioButton's erstellt.

Diese binde ich dann so ein,

Code:
LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

// set the View
View view = inflater.inflate(R.layout.select_parameter_bool, parent, false);
				
buttonOn = (RadioButton) findViewById(R.id.radioButton1);
buttonOff = (RadioButton) findViewById(R.id.radioButton2);
group = (RadioGroup) findViewById(R.id.radioGroup1);
				
				
// create AlertDialog
AlertDialog.Builder builder = new AlertDialog.Builder(this);
			    
// set properties
builder.setView(view);
builder.setTitle("Change Parameter");
builder.setPositiveButton("Ok", this);
builder.create().show();

Das funktioniert auch soweit. Das Problem ist jetzt, wenn ich programmtechnisch einstellen möchte, welcher RadioButton "checked" ist, bekomme ich einen fc. Wenn ich es per XML erledige, funktioniert es, aber ich möchte es natürlich abhängig von bestimmten ereignissen im Programm machen.

Habe es mit dieser Zeile probiert.

Code:
buttonOn.setChecked(true);

Wie erwähnt, wenn ich das ohne diese Zeile mache, funktioniert es prima - mit dieser Zeile leider nicht.

Habe es probiert, bevor ich es in den Builder gebe und auch danach, beides mal das gleiche Ergebniss.

Wo liegt der Fehler?

Beste Grüße
 
zeig mal xml
zeig stacktrace

kann es sein, dass dein buttonOn null ist?
bzw läuft der code (wo du buttonOn auf true setzt) im UI thread?!
 
Servus,

Habe mal geschaut, der buttonOn ist wirklich null.

Aber wieso? :/
 
Heyjo,

wie du schon gesagt hast dieses ganze Layout mit Radiogroup usw gehört ja den AlertDialog bzw Dialog, also kann er nur diesen Widget finden.

Code:
buttonOn = (RadioButton) [COLOR=Red]deinDialog.[/COLOR]findViewById(R.id.radioButton1);
ich weiß aber nicht ob deine Klasse (wo dein Dialog ist) von eine andere Klasse erbt, bzw welche andere Klasse.
MfG
 
Zurück
Oben Unten