Autore Topic: Button con Intent  (Letto 446 volte)

Offline babsevensix

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: +1
    • Mostra profilo
Button con Intent
« il: 24 Gennaio 2013, 16:31:28 CET »
0
Allora il problema è questo e non so se sto percorrendo la strada giusta.
Su una listview ad ogni riga c'è un button, quando clicco questo bottone dovrei eseguire una procedura che non risiede in una activity bensì in una classe di supporto.
Pensavo d'usare l'Intent (credevo fossero appunto usati per questo motivo) e nella mia classe B, bastasse estendere BroadcastReceiver
purtroppo così non funziona. Avete idee?

Offline babsevensix

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: +1
    • Mostra profilo
Re:Button con Intent
« Risposta #1 il: 24 Gennaio 2013, 16:50:59 CET »
0
Ok, mi mancava qualche pezzo.
Allora nell'activity principale, quella della applicazione, ho messo nell'oncreate :
Codice (Java): [Seleziona]
this.registerReceiver(this.onlineHandler, new IntentFilter(OnlineHandler.ASSIGN));
quindi nella classe OnLineHandler :
Codice (Java): [Seleziona]
public class OnlineHandler extends BroadcastReceiver{
    public final static String ASSIGN_AUTO_AEREO="bab.myair.support.OnlineHandler.ASSIGN";
}

e nel rowadapter alla pressione del bottone:

Codice (Java): [Seleziona]
holder.btnAssign.setOnClickListener(new OnClickListener() {
                        public void onClick(View v) {
                                ObjAssign objToAssign = (ObjAssign) items.get(position);

                                Intent intent = new Intent(OnlineHandler.ASSIGN);
                                intent.putExtra("obj", objToAssign.Chiave );
                               
                                activity.sendBroadcast(intent);
                               
                        }
                });

Mi chiedevo quindi se il codice che vi propongo è giusto per le cose che devo fare io.
Tenete presente che OnlineHandler è quasi il cuore dell'app e che viene istanziata dall'activity principale.