IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Problème avec les TabWidget


Sujet :

Android

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 23
    Points : 20
    Points
    20
    Par défaut Problème avec les TabWidget
    bonjour a vous ,
    voila je crée des onglets dont le nombre est fonction de la réponse d'une requête sur une BDD SQLite !
    si je relance une requête je supprime les Onglets et je les re-crées pas de problème.

    la ou ça se complique c'est que l'appli plante si je relance une requête et que je suis sur un autre onglets que le premiers !

    mon LogCat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    04-02 11:58:07.860: W/dalvikvm(1608): threadid=1: thread exiting with uncaught exception (group=0x40015560)
    04-02 11:58:07.930: E/AndroidRuntime(1608): FATAL EXCEPTION: main
    04-02 11:58:07.930: E/AndroidRuntime(1608): java.lang.NullPointerException
    04-02 11:58:07.930: E/AndroidRuntime(1608): 	at android.widget.TabWidget.setCurrentTab(TabWidget.java:342)
    04-02 11:58:07.930: E/AndroidRuntime(1608): 	at android.widget.TabWidget.focusCurrentTab(TabWidget.java:366)
    04-02 11:58:07.930: E/AndroidRuntime(1608): 	at android.widget.TabHost.setCurrentTab(TabHost.java:323)
    04-02 11:58:07.930: E/AndroidRuntime(1608): 	at android.widget.TabHost.addTab(TabHost.java:216)
    04-02 11:58:07.930: E/AndroidRuntime(1608): 	at gpmx.dev.appFH.consult.addtab(consult.java:203)
    04-02 11:58:07.930: E/AndroidRuntime(1608): 	at gpmx.dev.appFH.consult.rechercherFeuille(consult.java:139)
    04-02 11:58:07.930: E/AndroidRuntime(1608): 	at gpmx.dev.appFH.consult$3.onClick(consult.java:104)
    04-02 11:58:07.930: E/AndroidRuntime(1608): 	at android.view.View.performClick(View.java:2485)
    04-02 11:58:07.930: E/AndroidRuntime(1608): 	at android.view.View$PerformClick.run(View.java:9080)
    04-02 11:58:07.930: E/AndroidRuntime(1608): 	at android.os.Handler.handleCallback(Handler.java:587)
    04-02 11:58:07.930: E/AndroidRuntime(1608): 	at android.os.Handler.dispatchMessage(Handler.java:92)
    04-02 11:58:07.930: E/AndroidRuntime(1608): 	at android.os.Looper.loop(Looper.java:130)
    04-02 11:58:07.930: E/AndroidRuntime(1608): 	at android.app.ActivityThread.main(ActivityThread.java:3683)
    04-02 11:58:07.930: E/AndroidRuntime(1608): 	at java.lang.reflect.Method.invokeNative(Native Method)
    04-02 11:58:07.930: E/AndroidRuntime(1608): 	at java.lang.reflect.Method.invoke(Method.java:507)
    04-02 11:58:07.930: E/AndroidRuntime(1608): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
    04-02 11:58:07.930: E/AndroidRuntime(1608): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
    04-02 11:58:07.930: E/AndroidRuntime(1608): 	at dalvik.system.NativeStart.main(Native Method)
    04-02 11:58:07.940: W/ActivityManager(912):   Force finishing activity gpmx.dev.appFH/.consult
    04-02 11:58:08.440: W/ActivityManager(912): Activity pause timeout for HistoryRecord{40630378 gpmx.dev.appFH/.consult}
    a premier vue j'ai un problème de setCurrentTab !
    mais ça me parle pas du tout !
    c'est peut êtres a cause de la suppression des onglets que je fait comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //fonction pour effacer l'affichage et pouvoir recommencer !
      	 protected void effacer(){
      		tabhost.clearAllTabs();
      	 }
    voila mon problème !
    si vous avez une idée pour me dépaner ca serai simpas c'est le dernier bug que j'ai sur mon appli pour finir et j'aurai fini l'appli pour mon stage

    merci par avence

  2. #2
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Tu invoques une méthode sur un une variable à null, à priori ici :
    Citation Envoyé par stacktrace
    gpmx.dev.appFH.consult.addtab(consult.java:203)
    Ou, si la variable n'est pas à null, tu passes une référence vers null (c'est une autre possibilité, je ne connais pas autant le détail sur le TabHost).
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 23
    Points : 20
    Points
    20
    Par défaut re
    apres quelque flag posé un peux partout j'ai isoler la ligne de commande qui fait planter !!

    c'est dans ma fonction qui créer les onglets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        //création des onglets
        private void addtab(String tag, String titre, Intent intent){   	
        	TabSpec spec = tabhost.newTabSpec(tag);
        	spec.setIndicator(titre);
        	spec.setContent(intent);
        	tabhost.addTab(spec);
        	
        }
    la dernière ligne quand j'envoie le spec au tabhost !
    le tabhost ne doit plus etres bon apres la suppression des onglets !
    du coup j'ai modifier la fonction effacer()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     //fonction pour effacer l'affichage et pouvoir recommencer !
      	 protected void effacer(){
    Log.e("log_tag", "prog effacer : 1" );
      		tabhost.clearAllTabs();
      		tabhost = getTabHost(); 
      	 }
    j'ai rajouter le getTabHost() mais ca n'a rien changer !!

    l'idée de la variable ou la référence a null , j'ai regarder mais là non plus il n'y a pas de problème ! (merci quand même pour l'idée )

    donc ba je sais toujours pas ! je me dit qu'il a un problème dans la fonction effacer avec le clearAllTabs mais c'est juste une intuition !

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 23
    Points : 20
    Points
    20
    Par défaut trouver
    apres une recherche sur des site j'ai trouver la solution !!

    donc c'est bien dans ma fonction effacer()
    avent de faire un clearAllTabs
    on doit faire un setCurrentTab(0)

    ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        //fonction pour effacer l'affichage et pouvoir recommencer !
      	 protected void effacer(){
    		tabhost.setCurrentTab(0);
      		tabhost.clearAllTabs(); 
      	 }
    voila si ca peux aider
    ps : quand même c'est un bug a deux balle non ? obliger de lui dire de revenir sur le premier onglet avent de tout supprimer !

  5. #5
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    ps : quand même c'est un bug a deux balle non ? obliger de lui dire de revenir sur le premier onglet avent de tout supprimer !
    Il y a une demande en cours

    http://code.google.com/p/android/issues/detail?id=2772
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec les fonctions
    Par jvachez dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/01/2004, 12h06
  2. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 09h04
  3. Problème avec les apostrophes
    Par misterbillyboy dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/07/2003, 16h39
  4. Problème avec les fichiers .JPG
    Par cprogil dans le forum Langage
    Réponses: 5
    Dernier message: 10/06/2003, 15h44
  5. []Problème avec les formulaires Outlook
    Par davidinfo dans le forum Outlook
    Réponses: 6
    Dernier message: 05/12/2002, 09h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo