2 Layouts, eines deaktivert

M

Murbertus

Neues Mitglied
0
Hallo!

Ich habe ein XML-File.
Inhalt:
1 RadioGroup, die 2 RadioButtons (rdbtn4, rdbtn5) enthält (sagt nichts zu den Bezeichnungen, die haben ihren Grund ;)).

Dann ein LinearLayout (linlay4) mit 4 Spinnern, das sichtbar sein soll, wenn rdbtn4 gewählt ist und ein Layout (linlay5), das sichtbar sein soll, wenn rdbtn5 ausgewählt ist. Das jeweils andere Layout soll für den User nicht sichtbar sein.

Schlussendlich noch ein Button btnCalc sowie 2 TextViews (tvRes1, tvRes2).

Beim Start der Activity ist defaultmäßig rdbtn4 ausgewählt.

Aufgabe der App ist es, je nach Spinner-Values den angezeigten Text der TextViews zu ändern. Mit rdbtn4 funktioniert das ohne Probleme, mit rdbtn5 funktioniert aber nichts, der Text ändert sich nicht. Was mache ich falsch?

Mein Lösungsansatz:

Code:
 //Default bei Aufruf der Activity

linlay4rings.setVisibility(0); //0 = visible, 4 = invisible, 8 = gone
linlay5rings.setVisibility(8);

Dann hier das Umschalten, wenn ein RadioButton ausgewählt wird:
Code:
//Layout fuer 5 Buttons wird entfernt, wenn Rdbtn4 gedrueckt wird:
				rdbtn4.setOnClickListener(new View.OnClickListener() 
				{
					public void onClick(View v) 
					{
						linlay4.setVisibility(0); //0 = visible, 4 = invisible, 8 = gone
						linlay5.setVisibility(8);
					}
				});
				
				//Layout fuer 4 Buttons wird entfernt, wenn Rdbtn5 gedrueckt wird:
				rdbtn5.setOnClickListener(new View.OnClickListener() 
				{
					public void onClick(View v) 
					{
						linlay4.setVisibility(8); //0 = visible, 4 = invisible, 8 = gone
						linlay5.setVisibility(0);
					}
				});

Das funktioniert auch ohne Probleme.

Hier der Code, wenn rdbtn4 checked:

Code:
if (rdbtn4rings.isChecked())
		{
			btnCalc.setOnClickListener(new View.OnClickListener() 
			{
				public void onClick(View v) 
				{
					String s41 = String.valueOf(sp4Farbe1.getSelectedItemId()); 
					String s42 = String.valueOf(sp4Farbe2.getSelectedItemId()); 
					String s43 = String.valueOf(sp4Farbe3.getSelectedItemId()); 
					String s44 = String.valueOf(sp4Farbe4.getSelectedItemId());
					int ds43 = Integer.parseInt(s43);
					int ds44 = Integer.parseInt(s44);
					rise1(ds43); //Uebergabe an Methode rise1, die ueberprueft, welchen Wert ds43 (Multiplikator-Value) hat
					String snewTolerance = String.valueOf(getToleranceValue(ds44));
					
					tvRes1.setText("" + s41 + s42 + "*10^" + ds43);
					tvRes2.setText(""+ snewTolerance + " %");
				}
			});	
		}

Und hier, wenn rdbtn5 checked:

Code:
if (rdbtn5rings.isChecked())
		{
			btnCalc.setOnClickListener(new View.OnClickListener() 
			{
				public void onClick(View v) 
				{
					String s51 = String.valueOf(sp5Farbe1.getSelectedItemId());
					String s52 = String.valueOf(sp5Farbe2.getSelectedItemId()); 
					String s53 = String.valueOf(sp5Farbe3.getSelectedItemId()); 
					String s54 = String.valueOf(sp5Farbe4.getSelectedItemId());
					String s55 = String.valueOf(sp5Farbe5.getSelectedItemId()); 
					int ds54 = Integer.parseInt(s54);
					int ds55 = Integer.parseInt(s55);
					rise1(ds54);
					String snewTolerance = String.valueOf(getToleranceValue(ds55));
					
					//Ausgabe:
					tvWidResultValue.setText("" + s51 + s52 + s53 + "*10^" + ds54 + " Ohm");
					tvWidToleranzValue.setText(""+ snewTolerance + " %");
				}//onClick
			});
		}

Aber wieso funktioniert die ganze Sache nicht, wenn rdbtn5 ausgewählt ist?

Vielen Dank schonmal!
 
Zuletzt bearbeitet:
*push*
 

Ähnliche Themen

L
Antworten
4
Aufrufe
1.333
lonnie9020
L
F
Antworten
0
Aufrufe
833
FlorianAlfredo
F
R
  • RalfKahl
Antworten
4
Aufrufe
181
RalfKahl
R
Zurück
Oben Unten