Autore Topic: Richiamare un metodo  (Letto 636 volte)

Offline Teo

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Acer Liquid E / Xoom2
  • Sistema operativo:
    Mac OS X 10.8
Richiamare un metodo
« il: 17 Settembre 2012, 10:07:09 CEST »
0
Ciao a tutti,
ho una classe che estende Dialog, la quale viene istanziata da una classe che estende Fragment.

Vorrei che quando clicco il pulsante conferma del dialog, riuscissi a richiamare il metodo presente nel Fragment per aggiornare i dati.
Io al dialog passo l'acitivty presa dal fragment, provo a castarla alla classe fragment, ma mi dice che non posso fare il cast..

Codice (Java): [Seleziona]
((Fragment)mContext).metodo();

Prima che usavo le actvity funzionava, ora con i fragment non riesco più.. Come potrei fare?

Offline theBaffo

  • Utente normale
  • ***
  • Post: 164
  • Respect: +24
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Windows 8.1
Re:Richiamare un metodo
« Risposta #1 il: 17 Settembre 2012, 10:29:06 CEST »
0
Io al dialog passo l'acitivty presa dal fragment, provo a castarla alla classe fragment, ma mi dice che non posso fare il cast..

Codice (Java): [Seleziona]
((Fragment)mContext).metodo();
Prima che usavo le actvity funzionava, ora con i fragment non riesco più.. Come potrei fare?

L'activity la devi castare in activity, oppure al dialog li passi il fragment ;)
Se ti sono stato utile, premi "thanks" ;)

"Errare è umano, ma per incasinare davvero tutto è necessario un computer" - Arthur Bloch

Offline Teo

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Acer Liquid E / Xoom2
  • Sistema operativo:
    Mac OS X 10.8
Re:Richiamare un metodo
« Risposta #2 il: 17 Settembre 2012, 10:32:23 CEST »
0
Il problema è che la classe che richiama il dialog estende fragment..
quindi non posso fare altro se non castarla alla classe che richiama il dialog, che però non mi è permesso visto che estende Fragment..

Però non saprei come altro fare...

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Richiamare un metodo
« Risposta #3 il: 17 Settembre 2012, 10:38:11 CEST »
0
Beh, molto probabilmente non devi castarla a Fragment ma a LaTuaClasseFragment perchè è nella tua classe che è definito il metodo, non nella classe base Fragment.

Offline Teo

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Acer Liquid E / Xoom2
  • Sistema operativo:
    Mac OS X 10.8
Re:Richiamare un metodo
« Risposta #4 il: 17 Settembre 2012, 10:42:47 CEST »
0
si si, è quello che faccio..
Pero mi sottolinea la riga in rosso e mi dice
"Cannot cast from Context to TabPrecedenti"

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Richiamare un metodo
« Risposta #5 il: 17 Settembre 2012, 10:44:45 CEST »
+1
Scusa avevo letto male.
Nel Dialog crea un metodo dove passi un'istanza del fragment e poi richiami quella.

Offline Teo

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Acer Liquid E / Xoom2
  • Sistema operativo:
    Mac OS X 10.8
Re:Richiamare un metodo
« Risposta #6 il: 17 Settembre 2012, 10:50:10 CEST »
0
GIUSTO!!!!  :D

Cavolo non ci avevo proprio pensato...
Grazie mille  ;-)