Autore Topic: Problema riguardante l'emulatore durante funzioni di modifica layout  (Letto 522 volte)

Offline Peppesalerno

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy SIII
  • Sistema operativo:
    Windows XP
 Ho da poco iniziato a programmare in android,sono uno studente alle prime armi che ha come progetto quello di creare un applicazione in vista dell'esame di maturita :-[
Ho letto e seguito varie guide,il problema  si presenta quando vado a provare l'applicazione ed avviare l'emulatore, se le righe di codici non modificano la grafica layout e quindi non cambiano valore ai testi, immagini o non intervengo sui bottoni l'applicazione "funziona", nel momento in cui programmo funzioni logiche come per esempio rendere un immagine invisibile o utilizzo OnClickListener l'applicazione mi crasha se esegue quella particolare istruzione.

Potete aiutarmi per favore  :'(

Codice: [Seleziona]
if (i==1) im1.setVisibility(0);
   
Codice: [Seleziona]
sx.setOnClickListener(new View.OnClickListener() {
                       
                        @Override
                        public void onClick(View v) {
                                // Click Sinistra
                        if (j>=0) { j++;
                                  }
                               
                        }
                });
           

      

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:Problema riguardante l'emulatore durante funzioni di modifica layout
« Risposta #1 il: 14 Novembre 2012, 14:16:39 CET »
0
Quando avviene un crash, nel pannello LOGCAT di Eclipse trovi anche i dettagli dell'errore che ha generato il crash. Dovresti aprire quel pannello, riprodurre il crash, quindi isolare i messaggi che riportano un ERROR. Se hai poca dimestichezza ad interpretarli, puoi postarli in questo thread e tra tutti sapremo darti indicazioni in merito.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Peppesalerno

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy SIII
  • Sistema operativo:
    Windows XP
Re:Problema riguardante l'emulatore durante funzioni di modifica layout
« Risposta #2 il: 14 Novembre 2012, 17:22:04 CET »
0
Ecco allegato in immagine i dettagli del logcat: La ringrazio  :-)

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:Problema riguardante l'emulatore durante funzioni di modifica layout
« Risposta #3 il: 14 Novembre 2012, 17:36:42 CET »
0
Consiglio: copia il LogCat sempre come testo, altrimenti come immagine è ingestibile e scomodissimo.

Comunque, se leggi attentamente vedi che la causa è una NULLPOINTEREXCEPTION e il punto preciso è la riga 27 di MainActivity.java . Significa che in quel punto hai qualcosa che è NULL e non dovrebbe.

A te ora individuare il colpevole.  :-)
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Peppesalerno

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy SIII
  • Sistema operativo:
    Windows XP
Re:Problema riguardante l'emulatore durante funzioni di modifica layout
« Risposta #4 il: 14 Novembre 2012, 18:09:17 CET »
0
La riga 27 è la seguente
Codice: [Seleziona]
sx.setOnClickListener(new View.OnClickListener() { Come fa  sx ad avere valore null se ho fatto l'assegnazione sx= (ImageButton) findViewById(R.id.imageButton2); ? Imagebutton2 si trova in activity main.

Il programma non ha nessun obiettivo principale se non quello di riuscire a vedere un immagine che si rende invisibile e riuscire a far funzionare il setOnClickListener.
Codice: [Seleziona]
package com.example.provapanzotto;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;

public class MainActivity extends Activity {
int i,j;
TextView display;
ImageButton sx,dx,sotto,sopra;
ImageView im1,im2,im3,im4,im5,im6,im7,im8,im9,pprova,tprova;


    @Override
    public void onCreate(Bundle savedInstanceState) {
            i=0; /*Posizioni */
            j=0;
            dx= (ImageButton) findViewById(R.id.imageButton1);
            sx= (ImageButton) findViewById(R.id.imageButton2);
    im1=(ImageView) findViewById(R.id.ImageView01);
            im2=(ImageView) findViewById(R.id.ImageView02);
sx.setOnClickListener(new View.OnClickListener() {
                       
                        @Override
                        public void onClick(View v) {
                                // Click Sinistra
                        if (j>=0) { j++;
                        }
                               
                        }
                });
           
       
            if (i==1) im1.setVisibility(0);
           
       
               
               
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    };

   

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

   

       


thanks.

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:Problema riguardante l'emulatore durante funzioni di modifica layout
« Risposta #5 il: 14 Novembre 2012, 19:32:20 CET »
0
La riga 27 è la seguente
Codice: [Seleziona]
sx.setOnClickListener(new View.OnClickListener() { Come fa  sx ad avere valore null se ho fatto l'assegnazione sx= (ImageButton) findViewById(R.id.imageButton2); ? Imagebutton2 si trova in activity main.

Non dico sia quello, ma se l'errore viene segnalato, qualcosa in quella riga DEVE essere null.  ;-)

Prova a far uscire il valore di sx nel LogCat con Log.d("TUOTAG","sx = "+sx)
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline lubio14

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy s3
  • Sistema operativo:
    Windows 7
Re:Problema riguardante l'emulatore durante funzioni di modifica layout
« Risposta #6 il: 16 Dicembre 2012, 18:15:25 CET »
0
Sono l'amico di peppesalerno con cui sto "programmando" il progetto e abbiamo constato che qualsiasi variabile/oggetto preso con il comando findViewById ha come valore null, ho fatto e scritto ESATTAMENTE come tante guide che ho visto, ma il problema persiste... sai a cosa può essere dovuto? o hai qualche idea? perché veramente non riusciamo a risolverlo =\

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Problema riguardante l'emulatore durante funzioni di modifica layout
« Risposta #7 il: 16 Dicembre 2012, 18:21:52 CET »
0
prima si fa il setContentView e poi si fanno i vari findViewById.