forum frandroid - android et tablette

Aller au contenu

  • Connectez-vous avec Facebook Connectez-vous avec Twitter Connexion avec Google Connexion
  • Créer un compte
Change

Comprendre l'enchainement des écrans


  • Merci de vous connecter pour répondre
33 réponses à ce sujet

#1
Jorodan

Jorodan

    Godzillandroid

  • Rédacteur
  • 6400 messages
Là j'attaque une étape de plus.

Pour l'instant j'affiche tout sur un écran décrit dans mon xml main.

Maintenant je voudrais au clic d'un bouton passer à un autre écran. Quel est la meilleure solution ?

Je crée une nouvelle activité ou il y a une gestion des view que je n'ai pas compris? Ou peut être, je peux "décharger" un xml et en charger un autre ?

#2
popolbx

popolbx

    Android no-life

  • Membre
  • 2470 messages
  • LieuBordeaux
lis la partie dev du forum ça à déjà été débattu.  ;)

--
Posté depuis BBFoC

#3
Profete162

Profete162

    Pas de faute d'orthographe dans le pseudo, c'est voulu&a

  • Membre
  • 5722 messages
  • LieuBelgique
J'avais posé le même genre de question ici:http://www.frandroid...id=43284#p43284

Avec le recul de quelques mois de programmation entre les 2, cela me parait évident qu'il faut refaire une activity.

Si tu veux le faire sans seconde activity, je pense que cela peur fonctionner si tu rajoutes à chaque fois les onclicklistener de tes boutons a chaque setContentView(R.layout.xxxxx);
Non à la société gérée et uniformisée! Vive l'anarchie, ordre sans pouvoir ou plutôt fin de l'ordre imposé par un pouvoir, soit non-ordre, explosion, enrichissement, émulation de tout ce que la vie peut créer de positif, sans disctinction, exponentielle vitale. Vive l'explosion des comportements!

#4
Jorodan

Jorodan

    Godzillandroid

  • Rédacteur
  • 6400 messages
Bon j'avais pas vu que ca avait été débattu!
Ok je vais aller voir là bas!

#5
Ludo3147

Ludo3147

    Newbie

  • Membre
  • 9 messages

Citation

Bon j'avais pas vu que ca avait été débattu!
Ok je vais aller voir là bas!

Bien le modo  :D

#6
Jorodan

Jorodan

    Godzillandroid

  • Rédacteur
  • 6400 messages
Il faut faire les erreur pour les voir ensuite ^^

#7
Jorodan

Jorodan

    Godzillandroid

  • Rédacteur
  • 6400 messages
I'm Back!!!

J'essaie de naviguer entre écrans mais je chie...
J'ai un bouton de l'activity launched pour lancer une autre activity.
Activity launched : Accueil
Activity à lancée : AffichageHoraires

Les deux sont déclarées dans le manifeste :


	
		
			
				
				
			
		

	


	

 

je fais :
startActivity(new Intent(this, AffichageHoraires.class));
Et j'ai ce bug :
11-09 13:34:51.058: WARN/dalvikvm(828): threadid=3: thread exiting with uncaught exception (group=0x4001da28)
11-09 13:34:51.058: ERROR/AndroidRuntime(828): Uncaught handler: thread main exiting due to uncaught exception
11-09 13:34:51.068: ERROR/AndroidRuntime(828): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.juliendelrio.bussassistant/org.juliendelrio.bussassistant.ChoixReseau}: java.lang.NullPointerException
11-09 13:34:51.068: ERROR/AndroidRuntime(828):	 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2401)
11-09 13:34:51.068: ERROR/AndroidRuntime(828):	 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417)
11-09 13:34:51.068: ERROR/AndroidRuntime(828):	 at android.app.ActivityThread.access$2100(ActivityThread.java:116)
11-09 13:34:51.068: ERROR/AndroidRuntime(828):	 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
11-09 13:34:51.068: ERROR/AndroidRuntime(828):	 at android.os.Handler.dispatchMessage(Handler.java:99)
11-09 13:34:51.068: ERROR/AndroidRuntime(828):	 at android.os.Looper.loop(Looper.java:123)
11-09 13:34:51.068: ERROR/AndroidRuntime(828):	 at android.app.ActivityThread.main(ActivityThread.java:4203)
11-09 13:34:51.068: ERROR/AndroidRuntime(828):	 at java.lang.reflect.Method.invokeNative(Native Method)
11-09 13:34:51.068: ERROR/AndroidRuntime(828):	 at java.lang.reflect.Method.invoke(Method.java:521)
11-09 13:34:51.068: ERROR/AndroidRuntime(828):	 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
11-09 13:34:51.068: ERROR/AndroidRuntime(828):	 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
11-09 13:34:51.068: ERROR/AndroidRuntime(828):	 at dalvik.system.NativeStart.main(Native Method)
11-09 13:34:51.068: ERROR/AndroidRuntime(828): Caused by: java.lang.NullPointerException
11-09 13:34:51.068: ERROR/AndroidRuntime(828):	 at org.juliendelrio.bussassistant.ChoixReseau.onCreate(ChoixReseau.java:23)
11-09 13:34:51.068: ERROR/AndroidRuntime(828):	 at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
11-09 13:34:51.068: ERROR/AndroidRuntime(828):	 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364)
11-09 13:34:51.068: ERROR/AndroidRuntime(828):	 ... 11 more
11-09 13:34:51.088: INFO/Process(76): Sending signal. PID: 828 SIG: 3

Je ne comprends pas :'( Quelqu'un a une idée ?

#8
popolbx

popolbx

    Android no-life

  • Membre
  • 2470 messages
  • LieuBordeaux
bein si tu nous filait la ligne 23 du fichier choixreseau.java on y verrait plus claire

(apprenez à lire les stacktrace non de *ù*ù^*ù)


mais bon sinon tu as oublié le point dans ta déclaration d'activity:


serait plutot



en général eclipse gueule un peu là dessus.

Modifié par popolbx, 09 November 2009 - 14:13.


#9
Androc

Androc

    Android Guru

  • Membre
  • 1794 messages

Citation

(apprenez à lire les stacktrace non de *ù*ù^*ù)

J'allais faire une blague dans ce sens du style "tu as 4 colonnes, la date, l'heure, le code erreur avec le PID et le message détaillé avec le numéro de ligne", mais comme je n'avais pas de piste constructive à indiquer ensuite, je me suis abstenu :)
- Nexus 4 -

Economisez 5€ sur votre première facture chez JoeMobile : https://www.joemobil...bre=Androctonus

#10
Jorodan

Jorodan

    Godzillandroid

  • Rédacteur
  • 6400 messages
Je dois avouer que je ne comprends pas tout à ce message d'erreur... désolé... :'(

Bon je vais tester le . :D*
Et sinon je reviens avec la lligne 23 (le NUMERO 23 MWHAHAHAHA)

#11
Jorodan

Jorodan

    Godzillandroid

  • Rédacteur
  • 6400 messages
Bon ca n'a pas suffit!!

Voici le code qui a l'air de planter... mais qui dans l'activity launched ne plante pas...
La ligne 1 est la ligne 15 du fichier d'origine!
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		
		// Remplissage de la liste
		Spinner spin = (Spinner)findViewById(R.id.spinner);
		String[] items =  {"Toulouse", "Castres"};
		ArrayAdapter aa = new ArrayAdapter(this, android.R.layout.simple_spinner_item, items);
		aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		spin.setAdapter(aa);
		
		// Ecoute bouton
		Button boutonValider = (Button) findViewById(R.id.validation_Ville);
		boutonValider.setonclickListener(this);


#12
dekans

dekans

    Android no-life

  • Membre
  • 2155 messages
  • LieuParis
Et comme ça ?
startActivity(new Intent(ChoixReseau.this, AffichageHoraires.class));

SFR Full Internet
- HTC Magic, Cyanogen 6.1.
- Nexus One, Stock ROM.

#13
Jorodan

Jorodan

    Godzillandroid

  • Rédacteur
  • 6400 messages
Alors j'ai viré affichagehorraires qui ne servait à rien et venait perturber l'aide!!

Donc pour lancer l'activité c'est :
startActivity(new Intent(this, ChoixReseau.class));

Je vous rassure ça plante toujours :)

#14
dekans

dekans

    Android no-life

  • Membre
  • 2155 messages
  • LieuParis
startActivity(new Intent(Accueil.this, ChoixReseau.class));
alors.
SFR Full Internet
- HTC Magic, Cyanogen 6.1.
- Nexus One, Stock ROM.

#15
Jorodan

Jorodan

    Godzillandroid

  • Rédacteur
  • 6400 messages
Toujours pas!!!

Voici mes classes complètes :
Accueil.java
package org.juliendelrio.bussassistant;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.onclickListener;
import android.widget.Button;

public class Accueil extends Activity implements onclickListener{
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		
		// Ecoute bouton
		Button boutonValider = (Button) findViewById(R.id.boutonValid);
		boutonValider.setonclickListener(this);
	}

	public void onclick(View v) {
		startActivity(new Intent(Accueil.this, ChoixReseau.class));
	}
}
ChoixReseau.java
package org.juliendelrio.bussassistant;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.onclickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;

public class ChoixReseau extends Activity implements onclickListener{
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		
		// Remplissage de la liste
		Spinner spin = (Spinner)findViewById(R.id.spinner);
		String[] items =  {"Toulouse", "Castres"};
		ArrayAdapter aa = new ArrayAdapter(this, android.R.layout.simple_spinner_item, items);
		aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		spin.setAdapter(aa);
		
		// Ecoute bouton
		Button boutonValider = (Button) findViewById(R.id.validation_Ville);
		boutonValider.setonclickListener(this);
	}

	public void onclick(View v) {
	}
}

J'arrive vraiment pas à voir d'où ca vient!!!
Surtout que la ligne 23 de ChoixReseau me parrait bonne :
		spin.setAdapter(aa);


#16
Androc

Androc

    Android Guru

  • Membre
  • 1794 messages
Tu ne test pas le retour de l'instanciation de ton "aa" si pour une raison ou une autre ça n'a pas fonctionné tu vas avoir des soucis, non ?
- Nexus 4 -

Economisez 5€ sur votre première facture chez JoeMobile : https://www.joemobil...bre=Androctonus

#17
Jorodan

Jorodan

    Godzillandroid

  • Rédacteur
  • 6400 messages
Huuuuum je me suis pas trop posé la question... mais c'est une instance par défaut! Donc pas de raison qu'il y ait un souci!

#18
Androc

Androc

    Android Guru

  • Membre
  • 1794 messages
Sans doute qu'il n'y a pas de soucis mais comme je n'y connais rien en dev Android, je pose les questions génériques qui ont un rapport avec le message d'erreur "java.lang.NullPointerException" :)
- Nexus 4 -

Economisez 5€ sur votre première facture chez JoeMobile : https://www.joemobil...bre=Androctonus

#19
popolbx

popolbx

    Android no-life

  • Membre
  • 2470 messages
  • LieuBordeaux
c simple : spin=  bill

le findView a foire. ..

--
Posté depuis BBFoC HTC Magic/sapphire

#20
Jorodan

Jorodan

    Godzillandroid

  • Rédacteur
  • 6400 messages
C'est pas ça car j'ai toujours le problème si je ne remplis pas le spinner...




0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)

Skimlinks