Autore Topic: Corretto utilizzo dei Listener con i Fragment  (Letto 657 volte)

Offline maqquo91

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    galaxy note
  • Sistema operativo:
    Win7
Corretto utilizzo dei Listener con i Fragment
« il: 19 Gennaio 2014, 12:17:38 CET »
0
Ciao a tutti. Sono un nuovo utente e sono nuovo della programmazione android. Sto cercando di imparare il concetto di fragment e non riesco a capire quale sia il modo migliore per utilizzare un listener che richiami un activity o un fragment. Per ora ho trovato questo accrocchio funziona ma non mi sembra la soluzione migliore
Codice (Java): [Seleziona]
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        //carico il layout di page0
        View rootView = inflater.inflate(R.layout.page0, container, false);
        //Listener
         Button btn = (Button) rootView.findViewById(R.id.btn1);
         btn.setOnClickListener(this);
             
         return rootView;
         }
         public void onClick(View rootView) {
                switch (rootView.getId()) {
                        case R.id.btn:
                        Intent startScan = new Intent(getActivity(), ScanActivity.class);
                        startActivity(startScan);
                       
                        break;
                }
        }
}

Ho letto che bisognerebbe usare l'activity per comunicare tra i Fragment ma non riesco a capire come si faccia. Altri metodi invece consigliano di utilizzare un onClick nell'xml.
Voi cosa consigliate? Grazie. spero di essermi spiegato bene.

iClaude

  • Visitatore
Re:Corretto utilizzo dei Listener con i Fragment
« Risposta #1 il: 19 Gennaio 2014, 17:25:52 CET »
0
Con il metodo che hai usato hai un unico metodo, onClick, che gestisce tutti i click: può andare bene, ma se il codice aumenta il metodo tende a diventare illeggibile.
In alternativa puoi usare metodi specifici per ogni View, specificando il metodo nell'xml (onClick) di ogni View, oppure da programma.

La comunicazione tra Fragment è quando devi passare dei valori da un Fragment ad un altro, e questa va appunto gestita tramite l'Activity, ma non mi sembra che c'entri col tuo esempio.

Offline maqquo91

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    galaxy note
  • Sistema operativo:
    Win7
Re:Corretto utilizzo dei Listener con i Fragment
« Risposta #2 il: 20 Gennaio 2014, 00:51:30 CET »
0
Ti ringrazio per la risposta veloce e esauriente.
Avrei un'ultima domanda: con il metodo che ho usato devo per forza implementare il metodo OnclickListener nella classe principale del Fragment. Teoricamente sarebbe possibile definire il Listener nell'Activity principale dov'è contenuto il Fragment? e gestirlo da li? Avrebbe senso?

iClaude

  • Visitatore
Re:Corretto utilizzo dei Listener con i Fragment
« Risposta #3 il: 20 Gennaio 2014, 09:00:02 CET »
0
Sì può fare ma non ha senso,  anzi direi che è sconsigliabile.
Se la View si trova sul Fragment è più logico gestire i click nella classe del Fragment.