Autore Topic: Blocco anomalo dell'applicazione al click sul tasto return  (Letto 277 volte)

Offline pilesco

  • Nuovo arrivato
  • *
  • Post: 18
  • Respect: 0
    • Mostra profilo
Blocco anomalo dell'applicazione al click sul tasto return
« il: 04 Ottobre 2014, 13:30:28 CEST »
0
Ciao a tutti spero possiate aiutarmi! Do alcune specifiche riguardo il problema: apro la mia app e senza compiere alcuna azione se clicco sul tasto return mi si blocca in modo anomalo! Lo stesso non succede se clicco sul tasto home:in questo caso si esce dalla app senza problemi. Se però clicco qualcosa o cmq compio qualche azione nella app non succede lo stesso in quanto tutto funziona normalmente. Insomma il problema si pone solo ed esclusivamente se entro e clicco direttamente sul return! dove sta il problema?

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Blocco anomalo dell'applicazione al click sul tasto return
« Risposta #1 il: 04 Ottobre 2014, 13:52:33 CEST »
0
Apri il pannello del LogCat e individua la causa del crash. Trovi anche nome del file e numero di riga.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline pilesco

  • Nuovo arrivato
  • *
  • Post: 18
  • Respect: 0
    • Mostra profilo
Re:Blocco anomalo dell\'applicazione al click sul tasto return
« Risposta #2 il: 04 Ottobre 2014, 16:00:10 CEST »
0
ecco cosa mi dice il LogCat:

10-04 15:58:13.557    9480-9480/org.altervista.chocorito.app E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.NullPointerException
            at org.altervista.chocorito.app.MainActivity.onKeyDown(MainActivity.java:97)
            at android.view.KeyEvent.dispatch(KeyEvent.java:2612)
            at android.app.Activity.dispatchKeyEvent(Activity.java:2361)
            at android.support.v7.app.ActionBarActivityDelegateICS$WindowCallbackWrapper.dispatchKeyEvent(ActionBarActivityDelegateICS.java:250)
            at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1828)
            at android.view.ViewRootImpl.deliverKeyEventPostIme(ViewRootImpl.java:3719)
            at android.view.ViewRootImpl.handleImeFinishedEvent(ViewRootImpl.java:3689)
            at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:2934)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4747)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
            at dalvik.system.NativeStart.main(Native Method)

Post unito: 04 Ottobre 2014, 16:07:08 CEST
e a quanto pare riguarda questo:

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK || keyCode == KeyEvent.KEYCODE_HOME) {
            if (mp.isPlaying()){
            mp.stop();
            }
            finish();
             //or complete end your application
            //System.runFinalizersOnExit(true);
            System.exit(0);

            return true;
        }
        return false;
    }
« Ultima modifica: 04 Ottobre 2014, 16:07:08 CEST da pilesco, Reason: Merged DoublePost »

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Blocco anomalo dell'applicazione al click sul tasto return
« Risposta #3 il: 04 Ottobre 2014, 16:13:23 CEST »
0
Se leggi bene il LogCat è una NullPointerException, per cui quasi sicuramente mp è null.

Basta che lo controlli prima di usarlo:
Codice (Java): [Seleziona]
if (mp!=null) {
     if (mp.isPlaying()){
            mp.stop();

PS: quando incolli il codice, formattalo con l'apposito marcatore, così è più leggibile
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline pilesco

  • Nuovo arrivato
  • *
  • Post: 18
  • Respect: 0
    • Mostra profilo
Re:Blocco anomalo dell'applicazione al click sul tasto return
« Risposta #4 il: 04 Ottobre 2014, 16:47:46 CEST »
0
Questo succede quando qualcuno come te è nettamente più competente di uno come me (dalla mia posso dire che ho solo cenni di programmazione per cui posso anche incorrere in errori del genere)! Grazie mille!