Autore Topic: matrice di controlli  (Letto 312 volte)

Offline Rino63

  • Utente normale
  • ***
  • Post: 161
  • Respect: +3
    • Mostra profilo
matrice di controlli
« il: 15 Febbraio 2014, 16:56:13 CET »
0
supponiamo di avere un certo numero di controlli (View) tutti dello stesso tipo. vorrei gestire il click su questi controlli con un unico evento OnClick e gestire poi tramite uno switch le varie risposte. è sicuramente possibile fare una cosa del genere ma non saprei da dove iniziare.  qualcuno ha qualche idea in proposito o conosce un tutorial che spieghi come fare? grazie per l'attenzione.

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:matrice di controlli
« Risposta #1 il: 15 Febbraio 2014, 16:59:40 CET »
0
E' più semplice di quello che pensi, basta che associ lo stesso onClickListener a tutte le View che vuoi, poi dentro la onClick fai lo switch per distinguere le varie View.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Rino63

  • Utente normale
  • ***
  • Post: 161
  • Respect: +3
    • Mostra profilo
Re:matrice di controlli
« Risposta #2 il: 15 Febbraio 2014, 17:05:47 CET »
0
io al momento faccio così

           imageView1.setOnClickListener(new View.OnClickListener() {       
               @Override
                  public void onClick(View view) {

                  
                  if (view == findViewById(R.id.ImageView1)) {     
                      Toast.makeText(getApplicationContext(),"hai selezionato ",Toast.LENGTH_LONG).show();
                  
                   }
                  
                   }
               });

e ripeto questo per ogni view ma dal punto di vista "stilistico" è pietoso :)

Post unito: 15 Febbraio 2014, 18:04:58 CET
metto qui la soluzione caso mai servisse a qualcuno
        OnClickListener mioClickListener = new OnClickListener()
           {
           @Override   
            public void onClick(View v)
            {
               switch (v.getId()){
              
               case R.id.ImageView1:
                  
                  break;
               case R.id.ImageView2:
                  
                  break;
               case R.id.ImageView3:
                  
                   break;}
                  }
           }; 
           ((ImageView)this.findViewById(R.id.ImageView1)).setOnClickListener(mioClickListener); 
           ((ImageView)this.findViewById(R.id.ImageView2)).setOnClickListener(mioClickListener);
           ((ImageView)this.findViewById(R.id.ImageView3)).setOnClickListener(mioClickListener);
           ((ImageView)this.findViewById(R.id.ImageView4)).setOnClickListener(mioClickListener); 
« Ultima modifica: 15 Febbraio 2014, 18:04:58 CET da Rino63, Reason: Merged DoublePost »