Oppure

Loading
03/02/12 8:56
Reloader90
package aldrigos.games.cvep;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.TextView;
import aldrigos.games.cvep.Cdom;

public class CvepActivity extends Activity {
	
	public int totdom = 1;
	public Cdom listadom[] = new Cdom[2];
	
	public TextView txtdom;
	public Button btnris1;
	public Button btnris2;
	public Button btnris3;
	public Button btnris4;
	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        txtdom  = (TextView)this.findViewById(R.id.txtdom);
        btnris1 = (Button)this.findViewById(R.id.btnris1);
        btnris2 = (Button)this.findViewById(R.id.btnris2);
        btnris3 = (Button)this.findViewById(R.id.btnris3);
        btnris4 = (Button)this.findViewById(R.id.btnris4);
        
        txtdom.setText( String.valueOf(listadom.length) );
        
        listadom[1].testo = "lol";
    }
}


listadom[1].testo = "lol";

senza questa riga fila tutto come l'olio... non sò cosa fare
aaa
03/02/12 9:27
TheKaneB
Per capire che succede servono due cose:

- lo stack trace completo al momento del crash (lo vedi dal LogCat)
- il codice della classe Cdom
aaa
03/02/12 9:47
Reloader90
codice Cdom.java
package aldrigos.games.cvep;

public class Cdom {
	public String testo;
}


log chat:

02-03 09:53:08.801: D/AndroidRuntime(271): Shutting down VM
02-03 09:53:08.801: W/dalvikvm(271): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
02-03 09:53:08.820: E/AndroidRuntime(271): FATAL EXCEPTION: main
02-03 09:53:08.820: E/AndroidRuntime(271): java.lang.RuntimeException: Unable to start activity ComponentInfo{aldrigos.games.cvep/aldrigos.games.cvep.CvepActivity}: java.lang.NullPointerException
02-03 09:53:08.820: E/AndroidRuntime(271): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
02-03 09:53:08.820: E/AndroidRuntime(271): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
02-03 09:53:08.820: E/AndroidRuntime(271): 	at android.app.ActivityThread.access00(ActivityThread.java:125)
02-03 09:53:08.820: E/AndroidRuntime(271): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
02-03 09:53:08.820: E/AndroidRuntime(271): 	at android.os.Handler.dispatchMessage(Handler.java:99)
02-03 09:53:08.820: E/AndroidRuntime(271): 	at android.os.Looper.loop(Looper.java:123)
02-03 09:53:08.820: E/AndroidRuntime(271): 	at android.app.ActivityThread.main(ActivityThread.java:4627)
02-03 09:53:08.820: E/AndroidRuntime(271): 	at java.lang.reflect.Method.invokeNative(Native Method)
02-03 09:53:08.820: E/AndroidRuntime(271): 	at java.lang.reflect.Method.invoke(Method.java:521)
02-03 09:53:08.820: E/AndroidRuntime(271): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
02-03 09:53:08.820: E/AndroidRuntime(271): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
02-03 09:53:08.820: E/AndroidRuntime(271): 	at dalvik.system.NativeStart.main(Native Method)
02-03 09:53:08.820: E/AndroidRuntime(271): Caused by: java.lang.NullPointerException
02-03 09:53:08.820: E/AndroidRuntime(271): 	at aldrigos.games.cvep.CvepActivity.onCreate(CvepActivity.java:34)
02-03 09:53:08.820: E/AndroidRuntime(271): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
02-03 09:53:08.820: E/AndroidRuntime(271): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
02-03 09:53:08.820: E/AndroidRuntime(271): 	... 11 more
Ultima modifica effettuata da Reloader90 03/02/12 9:57
aaa
03/02/12 10:21
Reloader90
buona notte a me...
dovevo usare il costruttore...

listadom[1] = new Cdom(...);

... se voglio settare attributi...
aaa
03/02/12 11:25
TheKaneB
Postato originariamente da Reloader90:

buona notte a me...
dovevo usare il costruttore...

listadom[1] = new Cdom(...);

... se voglio settare attributi...


stavo per scrivere la stessa cosa :-)

listadom[0] e listadom[1] sono attualmente vuoti, devi chiamare il costruttore per ogni elemento dell'array. Dopodichè puoi scrivere sulla sua variabile interna di tipo String.
aaa
03/02/12 18:06
Reloader90
altro errore!

quando giro lo skermo l'app si resetta

tra l'altro nn dovrebbe nemmeno cambiale l'orientamento! (perhè lo dico io!)

grazie!
aaa
03/02/12 21:09
TheKaneB
Postato originariamente da Reloader90:

altro errore!

quando giro lo skermo l'app si resetta

tra l'altro nn dovrebbe nemmeno cambiale l'orientamento! (perhè lo dico io!)

grazie!


Quello non è un errore, è proprio Android che distrugge e ricrea le Activity quando cambia l'orientamento.

Devi dichiarare nel manifest che la tua activity può gestire in manuale il cambio di orientamento oppure semplicemente indichi un orientamento fisso, sempre nel manifest.

Nel primo caso devi anche intercettare l'evento onConfigurationChange (mi pare si chiami così;) in modo tale da evitare la distruzione e ricostruzione dell'Activity.

Io uso questa tecnica quando ho un video player dentro una pagina e non voglio che ruotando riparta il video da capo, ma continui il playback indisturbato.

info: developer.android.com/guide/topics/resources/…
aaa