Il Forum è consultabile solo in modalità lettura. Per domande o consigli iscriviti al nostro GRUPPO FACEBOOK / COMMUNITY cliccando qui

AlertDialog - Errore

Discussione in 'Development' iniziata da pino8314, 8 Dic 2012.

  1. pino8314

    pino8314 Baby Droid

    Iscritto:
    5 Feb 2011
    Messaggi:
    28
    "Mi Piace":
    0
    Salve,
    sto creando dei progetti di test per riuscire ad apprendere il funzionamento e l'interazione dei vari componenti messi a disposizione dall'sdk. In questo caso sto utilizzando un AlertDialog.
    Attraverso un pulsante faccio apparire un Alert che mostra il titolo e il messaggio dell'allert stesso. A questo punto, con l'alert ancora aperto, ruoto lo smartphone in landscape o portrait e l'alert si chiude inaspettatamente ottenendo questo errore nel logcat

    Codice:
    12-08 15:16:08.801: E/WindowManager(4979): Activity it.apogeo.android.cap04.lifecycleactivitytest.SecondActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@40580260 that was originally added here
    12-08 15:16:08.801: E/WindowManager(4979): android.view.WindowLeaked: Activity it.apogeo.android.cap04.lifecycleactivitytest.SecondActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@40580260 that was originally added here
    12-08 15:16:08.801: E/WindowManager(4979): 	at android.view.ViewRoot.<init>(ViewRoot.java:269)
    12-08 15:16:08.801: E/WindowManager(4979): 	at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
    12-08 15:16:08.801: E/WindowManager(4979): 	at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
    12-08 15:16:08.801: E/WindowManager(4979): 	at android.view.Window$LocalWindowManager.addView(Window.java:424)
    12-08 15:16:08.801: E/WindowManager(4979): 	at android.app.Dialog.show(Dialog.java:241)
    12-08 15:16:08.801: E/WindowManager(4979): 	at it.apogeo.android.cap04.lifecycleactivitytest.SecondActivity$2.onClick(SecondActivity.java:51)
    12-08 15:16:08.801: E/WindowManager(4979): 	at android.view.View.performClick(View.java:2552)
    12-08 15:16:08.801: E/WindowManager(4979): 	at android.view.View$PerformClick.run(View.java:9229)
    12-08 15:16:08.801: E/WindowManager(4979): 	at android.os.Handler.handleCallback(Handler.java:587)
    12-08 15:16:08.801: E/WindowManager(4979): 	at android.os.Handler.dispatchMessage(Handler.java:92)
    12-08 15:16:08.801: E/WindowManager(4979): 	at android.os.Looper.loop(Looper.java:138)
    12-08 15:16:08.801: E/WindowManager(4979): 	at android.app.ActivityThread.main(ActivityThread.java:3701)
    12-08 15:16:08.801: E/WindowManager(4979): 	at java.lang.reflect.Method.invokeNative(Native Method)
    12-08 15:16:08.801: E/WindowManager(4979): 	at java.lang.reflect.Method.invoke(Method.java:507)
    12-08 15:16:08.801: E/WindowManager(4979): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878)
    12-08 15:16:08.801: E/WindowManager(4979): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636)
    12-08 15:16:08.801: E/WindowManager(4979): 	at dalvik.system.NativeStart.main(Native Method)
    
    perchè accade ciò secondo voi? l'alert non dovrebbe chiudersi.

    PS:
    al di fuori dall'argomento di questo post, cosa devo dichiarare nel manifest per far si che la mia app si apra soltanto in landscape o portrait?


    grazie mille
     
  2. acer1629

    acer1629 Worker Droid

    Iscritto:
    22 Ago 2012
    Messaggi:
    113
    "Mi Piace":
    22
    Nel tuo oncreate inserisci la seguente riga :

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

    Per la questione errore, presumo sia perchè questa rotazione di schermo in qualche modo la devi gestire.
    Android non lo fa in automatico ... purtroppo non ho mai avuto a che fare con qualcosa di simile, se trovo del codice te lo posto.
     
    A yann73 piace questo elemento.