Autore Topic: Aiuto, intent non funziona!  (Letto 509 volte)

Offline kAnGeL

  • Nuovo arrivato
  • *
  • Post: 24
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus 5
  • Sistema operativo:
    Windows 8.1
Aiuto, intent non funziona!
« il: 04 Giugno 2014, 21:21:36 CEST »
0
Ciao a tutti ragazzi, ho fatto il madornale errore di utilizzare la Tab Action Bar e quindi i fragment per occuparlo.

Ora ho un bottone sull'activity che deve portare ad una seconda activity, il codice è molto semplice, ma mi da sempre e costantemente errore, potete darmi una mano che io ne sto uscendo pazzo?

Codice (Java): [Seleziona]
public class TabFragment1 extends android.app.Fragment  {


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {


//        FrameLayout touchLayout = (FrameLayout) getActivity().findViewById(R.id.touch_frame);
        Button touchLayout = (Button) getActivity().findViewById(R.id.choose_button);
        if(touchLayout != null){
            touchLayout.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intentSchedina = new Intent(getActivity(), TabSchedinaActivity.class);
                    startActivity(intentSchedina);
                }
            });
        }else{
            Log.d("touchLayout ","touchLayout IS NULL");
            Log.d("activity ",getActivity().getClass().toString());
        }
        return (LinearLayout) inflater.inflate(R.layout.tab1, container, false);
    }

}

Questo è il codice java dell'activity

Citazione
06-04 21:05:42.025  15432-15432/it.co.andreariezzo.android.pentagame.test D/dalvikvm﹕ Late-enabling CheckJNI
06-04 21:05:42.035  15432-15438/it.co.andreariezzo.android.pentagame.test E/jdwp﹕ Failed sending reply to debugger: Broken pipe
06-04 21:05:42.035  15432-15438/it.co.andreariezzo.android.pentagame.test D/dalvikvm﹕ Debugger has detached; object registry had 1 entries
06-04 21:05:42.115  15432-15435/it.co.andreariezzo.android.pentagame.test D/dalvikvm﹕ GC_CONCURRENT freed 134K, 1% free 17078K/17248K, paused 2ms+1ms, total 14ms
06-04 21:05:42.115  15432-15432/it.co.andreariezzo.android.pentagame.test D/dalvikvm﹕ WAIT_FOR_CONCURRENT_GC blocked 7ms
06-04 21:05:42.125  15432-15432/it.co.andreariezzo.android.pentagame.test D/touchLayout﹕ touchLayout IS NULL
06-04 21:05:42.125  15432-15432/it.co.andreariezzo.android.pentagame.test D/activity﹕ class it.co.andreariezzo.android.pentagame.test.TabActionBarActivity
06-04 21:05:42.165  15432-15432/it.co.andreariezzo.android.pentagame.test I/Adreno-EGL﹕ <qeglDrvAPI_eglInitialize:320>: EGL 1.4 QUALCOMM Build: I0404c4692afb8623f95c43aeb6d5e13ed4b30ddbDate: 11/06/13
06-04 21:05:42.185  15432-15432/it.co.andreariezzo.android.pentagame.test D/OpenGLRenderer﹕ Enabling debug mode 0
06-04 21:11:28.875  17068-17068/it.co.andreariezzo.android.pentagame.test D/dalvikvm﹕ Late-enabling CheckJNI
06-04 21:11:28.975  17068-17068/it.co.andreariezzo.android.pentagame.test D/dalvikvm﹕ GC_FOR_ALLOC freed 136K, 1% free 17078K/17248K, paused 12ms, total 12ms
06-04 21:11:28.985  17068-17068/it.co.andreariezzo.android.pentagame.test D/touchLayout﹕ touchLayout IS NULL
06-04 21:11:28.985  17068-17068/it.co.andreariezzo.android.pentagame.test D/activity﹕ class it.co.andreariezzo.android.pentagame.test.TabActionBarActivity
06-04 21:11:29.035  17068-17068/it.co.andreariezzo.android.pentagame.test I/Adreno-EGL﹕ <qeglDrvAPI_eglInitialize:320>: EGL 1.4 QUALCOMM Build: I0404c4692afb8623f95c43aeb6d5e13ed4b30ddbDate: 11/06/13
06-04 21:11:29.055  17068-17068/it.co.andreariezzo.android.pentagame.test D/OpenGLRenderer﹕ Enabling debug mode 0

Questo è il Logcat, la dicitura 'touchLayout is NULL' è un metodo per vedere quale fosse l'errore.

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:Aiuto, intent non funziona!
« Risposta #1 il: 05 Giugno 2014, 07:56:12 CEST »
0
A occhio è difficile ottenere una reference ad un elemento di layout (il Button) senza aver fatto l'inflate del layout.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline kAnGeL

  • Nuovo arrivato
  • *
  • Post: 24
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus 5
  • Sistema operativo:
    Windows 8.1
Re:Aiuto, intent non funziona!
« Risposta #2 il: 05 Giugno 2014, 10:16:40 CEST »
0
Guarda non ho risolto, però in compenso sono riuscito in un nano secondo a passare dai fragment alle comunissime activity

Offline GabMarioPower

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 606
  • Respect: +153
    • Github
    • Google+
    • gabrielemariotti
    • GabMarioPower
    • Mostra profilo
  • Play Store ID:
    GAB+MARIO+DEV
  • Sistema operativo:
    Ubuntu 14.04 , Win 10
Re:Aiuto, intent non funziona!
« Risposta #3 il: 05 Giugno 2014, 10:19:57 CEST »
0
Guarda non ho risolto, però in compenso sono riuscito in un nano secondo a passare dai fragment alle comunissime activity

La soluzione te l'ha scritta Bradipao.
Tu stai facendo questo
Codice (Java): [Seleziona]
Button touchLayout = (Button) getActivity().findViewById(R.id.choose_button);prima ancora di fare un inflate. E' ovvio che touchLayout è null!
Codice (Java): [Seleziona]
(LinearLayout) inflater.inflate(R.layout.tab1, container, false);
Codice (Java): [Seleziona]
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
      View root = inflater.inflate(R.layout.tab1, container, false);
      Button touchLayout = (Button) root.findViewById(R.id.choose_button);
      //...
      return root;
}

Offline kAnGeL

  • Nuovo arrivato
  • *
  • Post: 24
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus 5
  • Sistema operativo:
    Windows 8.1
Re:Aiuto, intent non funziona!
« Risposta #4 il: 05 Giugno 2014, 10:30:42 CEST »
0
Grazie molte, io sono un'autodidatta e mi sono avvicinato da pochi giorni, perdona la mia ignoranza, provo e qualora funzionasse metto TOPIC RISOLTO