Autore Topic: Testo selezionato di una radioGroup  (Letto 843 volte)

Offline wik89

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
Testo selezionato di una radioGroup
« il: 08 Febbraio 2013, 23:12:34 CET »
0
salve ragazzi, è da qualche giorno che mi sto cimentando nella programmazione android e stavo iniziando a fare qualche applicazione per iniziare. Ho un problema con un radioGroup. In pratica nella mia app è presente una radioGroup con tre radioButton all'interno, una volta selezionato l'elemento desiderato e cliccato sul tasto salva dovrebbe comparire un toast che mi visualizza il testo contenuto nel radioButton. Questo è quello che dovrebbe fare in teoria, mentre in pratica mi stampa sempre il primo elemento. Sapete dirmi come mai? Vi allego file xml della parte interessata e file .java

Codice (XML): [Seleziona]
<RadioGroup
           android:id="@+id/radioGroup1"
           android:layout_width="match_parent"
           android:layout_height="wrap_content" >

            <RadioButton
               android:id="@+id/radio0"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:checked="true"
               android:text="Settimanali"
               android:textColor="@color/nero"
               android:textSize="@dimen/diciotto"
               android:textStyle="italic"
               android:typeface="serif" />

            <RadioButton
               android:id="@+id/radio1"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:text="Bisettimanali"
               android:textColor="@color/nero"
               android:textSize="@dimen/diciotto"
               android:textStyle="italic"
               android:typeface="serif" />

            <RadioButton
               android:id="@+id/radio2"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:text="Mensili"
               android:textColor="@color/nero"
               android:textSize="@dimen/diciotto"
               android:textStyle="italic"
               android:typeface="serif" />

        </RadioGroup>



Codice (Java): [Seleziona]
public class MainActivity extends Activity {
       
        private RadioGroup radio;
        String tipoLentina = new String();

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
               
                //gestione Radio group
            RadioGroup radio = (RadioGroup) findViewById(R.id.radioGroup1);
            RadioButton rb = (RadioButton) findViewById(radio.getCheckedRadioButtonId());
            tipoLentina = rb.getText().toString();         
           
            //pulsante salva
            Button btmSalva = (Button)findViewById(R.id.button1);
            btmSalva.setOnClickListener(new OnClickListener() {
                public void onClick(View arg0) {
                        Context context = getApplicationContext();
                    String text = tipoLentina;
                    int duration = Toast.LENGTH_SHORT;

                    Toast toast = Toast.makeText(context, text, duration);
                    toast.show();
                }
            });        
        }

Offline wik89

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
Re:Testo selezionato di una radioGroup
« Risposta #1 il: 13 Febbraio 2013, 14:31:47 CET »
0
nessuno può aiutarmi??

Offline Sakazaki

  • Utente normale
  • ***
  • Post: 396
  • Respect: +74
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia Z
  • Play Store ID:
    Saka Labs
  • Sistema operativo:
    Windows 8
Re:Testo selezionato di una radioGroup
« Risposta #2 il: 13 Febbraio 2013, 15:32:31 CET »
0
Codice (Java): [Seleziona]
     
      // ...
      RadioButton rb = (RadioButton) findViewById(radio.getCheckedRadioButtonId());
      tipoLentina = rb.getText().toString();  
     
      radio.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup radioGroup, int checkedId) {
          RadioButton rb = (RadioButton) findViewById(checkedId);
          MainActivity.this.tipoLentina = rb.getText().toString();  
        }
      });
     
      //pulsante salva
      Button btmSalva = (Button)findViewById(R.id.button1);
      // ...

dura che capisca da solo che tipoLentina è cambiato, se non lo si aggiorna al cambio di check nel radio group.  ;-)

Offline wik89

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
Re:Testo selezionato di una radioGroup
« Risposta #3 il: 13 Febbraio 2013, 15:37:00 CET »
0
che cretino che sono. Guardato e riguardato mille volte ma non l'avevo notato. Grazie mille :D