Autore Topic: Listener e activity  (Letto 437 volte)

Offline babsevensix

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: +1
    • Mostra profilo
Listener e activity
« il: 18 Marzo 2013, 22:58:09 CET »
0
Mi sorge un atroce dubbio, forse dovuto anche all'ora.... Il problema è questo, solitamente nella creazione della view ai bottoni creo i listener direttamente nel metodo come di seguito :
Codice (Java): [Seleziona]
public class AereoActivity extends Fragment {
  @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                        Bundle savedInstanceState) {
             
               ..... codice .....


               swSoloCommisioniValide.setOnCheckedChangeListener(new OnCheckedChangeListener() {
                       
                        @Override
                        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

                                .... il mio codice .... e voglio riferirmi al fragment...
                               
                        }
                });
}


Ebbene, se voglio all'interno del listener rivolgermi al Fragment stesso come faccio? Devo per forza portare fuori la classe e passare il fragment al costruttore della classe stessa o c'è un metodo più elegante?

Offline lorux

  • Utente junior
  • **
  • Post: 97
  • Respect: +12
    • Google+
    • lor.catalano
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S2
  • Sistema operativo:
    Windows
Re:Listener e activity
« Risposta #1 il: 19 Marzo 2013, 09:07:13 CET »
0
beh dentro il listener dovresti hai già accesso ai metodi del fragment,ad esempio getActivity() lo puoi usare sia nell'oncreateview che nel listener.
se poi vuoi avere riferimento al fragment stesso puoi usare AereoActivity.this.

Alternativamente dichiari che il fragment implementa OnCheckedChangeListener e fai l'override del metodo onCheckedChangeListener,e passi il fragment stesso al tuo elemento,ad esempio swSoloCommisioniValide.setOnCheckedChangeListener(this)