1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

2 Layouts, eines deaktivert

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Murbertus, 08.04.2012.

  1. Murbertus, 08.04.2012 #1
    Murbertus

    Murbertus Threadstarter Junior Mitglied

    Beiträge:
    36
    Erhaltene Danke:
    0
    Registriert seit:
    24.11.2011
    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: 09.04.2012
  2. Murbertus, 09.04.2012 #2
    Murbertus

    Murbertus Threadstarter Junior Mitglied

    Beiträge:
    36
    Erhaltene Danke:
    0
    Registriert seit:
    24.11.2011
    *push*
     

Diese Seite empfehlen