Autore Topic: Chiudere Dialog da classe esterna  (Letto 685 volte)

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Chiudere Dialog da classe esterna
« il: 17 Luglio 2011, 20:37:56 CEST »
0
Che voi sappiate posso dismettere una dialog da una classe esterna ? ho provato a passare al costruttore della classe esterna
Codice (Java): [Seleziona]
Dialog nome_dialog e poi a fare
Codice (Java): [Seleziona]
nome_dialog.dismiss(); ma va in errore ecco il logcat

Codice: [Seleziona]
07-17 20:36:10.136: ERROR/AndroidRuntime(4480): FATAL EXCEPTION: main
07-17 20:36:10.136: ERROR/AndroidRuntime(4480): java.lang.NullPointerException
07-17 20:36:10.136: ERROR/AndroidRuntime(4480):     at it.android.infoconsumatori.segnalazione$ClassAttivazione.onPostExecute(segnalazione.java:125)
07-17 20:36:10.136: ERROR/AndroidRuntime(4480):     at it.android.infoconsumatori.segnalazione$ClassAttivazione.onPostExecute(segnalazione.java:1)
07-17 20:36:10.136: ERROR/AndroidRuntime(4480):     at android.os.AsyncTask.finish(AsyncTask.java:417)
07-17 20:36:10.136: ERROR/AndroidRuntime(4480):     at android.os.AsyncTask.access$300(AsyncTask.java:127)
07-17 20:36:10.136: ERROR/AndroidRuntime(4480):     at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:429)
07-17 20:36:10.136: ERROR/AndroidRuntime(4480):     at android.os.Handler.dispatchMessage(Handler.java:99)
07-17 20:36:10.136: ERROR/AndroidRuntime(4480):     at android.os.Looper.loop(Looper.java:123)
07-17 20:36:10.136: ERROR/AndroidRuntime(4480):     at android.app.ActivityThread.main(ActivityThread.java:3687)
07-17 20:36:10.136: ERROR/AndroidRuntime(4480):     at java.lang.reflect.Method.invokeNative(Native Method)
07-17 20:36:10.136: ERROR/AndroidRuntime(4480):     at java.lang.reflect.Method.invoke(Method.java:507)
07-17 20:36:10.136: ERROR/AndroidRuntime(4480):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
07-17 20:36:10.136: ERROR/AndroidRuntime(4480):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
07-17 20:36:10.136: ERROR/AndroidRuntime(4480):     at dalvik.system.NativeStart.main(Native Method)

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re: Chiudere Dialog da classe esterna
« Risposta #1 il: 17 Luglio 2011, 20:59:18 CEST »
0
Hai un nullpointer exception... è abbastanza eloquente :)

Sent from my HTC Desire

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:Chiudere Dialog da classe esterna
« Risposta #2 il: 17 Luglio 2011, 21:55:39 CEST »
0
Ma proprio non si può ? :(

Offline bovello

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: +2
    • Mostra profilo
    • Bovello
  • Dispositivo Android:
    San Francisco
  • Play Store ID:
    Bovello
  • Sistema operativo:
    Windows 7, Mac OS Snow Leopard
Re:Chiudere Dialog da classe esterna
« Risposta #3 il: 17 Luglio 2011, 22:13:50 CEST »
+1
lascia il compito di chiudere il dialog alla classe dove lo apri (Act1), ma fatti un metodo pubblico closeDialog() e un oggetto di classe Act1 mAct1 che inizializzi a this nell'onCreate.

dall'altra activity (Act2) chiama Ac1.mAct1.closeDialog();

Per mia esperienza per conviene gestire queste interazioni con il syncronize.
Scusa sono dall'ipad e non posso darti spezzoni di codce, se non è chiaro fammi sapereciao,
Marco

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:Chiudere Dialog da classe esterna
« Risposta #4 il: 17 Luglio 2011, 22:30:29 CEST »
0
In effetti non ho capito nulla  :-)
Ho fatto così ho creato nella prima classe (quella da dove parte il Dialog) il metodo pubblico

Codice (Java): [Seleziona]
public CloseDialog(Dialog dialog){
dialog.dismiss();  
}

Al costruttore della classe 2 ho passato il Dialog dialog1 e poi sempre dalla classe 2 ho chiamato classe1.CloseDialog(dialog1) ma persiste l'errore... :(

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:Chiudere Dialog da classe esterna
« Risposta #5 il: 17 Luglio 2011, 22:49:58 CEST »
0
lascia il compito di chiudere il dialog alla classe dove lo apri (Act1), ma fatti un metodo pubblico closeDialog() e un oggetto di classe Act1 mAct1 che inizializzi a this nell'onCreate.

dall'altra activity (Act2) chiama Ac1.mAct1.closeDialog();

Per mia esperienza per conviene gestire queste interazioni con il syncronize.
Scusa sono dall'ipad e non posso darti spezzoni di codce, se non è chiaro fammi sapereciao,
Marco

Capito!! funziona grazie! rep+ ;)

Offline bovello

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: +2
    • Mostra profilo
    • Bovello
  • Dispositivo Android:
    San Francisco
  • Play Store ID:
    Bovello
  • Sistema operativo:
    Windows 7, Mac OS Snow Leopard
Re:Chiudere Dialog da classe esterna
« Risposta #6 il: 17 Luglio 2011, 23:03:47 CEST »
0
mi fa piacere  ;-)
grazie per la rep!