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 :

Utilisation d'un chronomètre dans un fragment


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 10
    Par défaut Utilisation d'un chronomètre dans un fragment
    Bonsoir,

    Je suis débutant en java sous android et je rencontre une difficulté lorsque je souhaite mettre en place un chronomètre sur un "slide" (Fragment). Actuellement, lorsque je lance mon application et que je clique pour aller dans cette slide, un message m'indique que mon application s'est arrêtée brutalement. Mon LogCat m'indique que le soucis vient de la ligne 29 mais je n'arrive pas à identifier l'erreur.

    Mon code:

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    package com.tutos;
     
    import android.os.Bundle;
    import android.support.v4.app.Fragment;
    import android.os.SystemClock;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.Button;
    import android.widget.Chronometer;
    import android.app.Activity;
    /*import android.view.Menu;*/
     
    public class InformationCourse extends Fragment{
     
        Chronometer focus;
        Button start, stop, restart;
     
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
     
            start = (Button) getActivity().findViewById(R.id.button1);
            stop = (Button) getActivity().findViewById(R.id.button2);
            restart = (Button) getActivity().findViewById(R.id.button3);
     
            focus = (Chronometer) getActivity().findViewById(R.id.chronometer1);
     
            start.setOnClickListener(new View.OnClickListener() { // L'erreur est située ici
     
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
     
                    focus.start();
                }
            });
     
     
            stop.setOnClickListener(new View.OnClickListener() {
     
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
     
                    focus.stop();
                }
            });
     
     
            restart.setOnClickListener(new View.OnClickListener() {
     
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
     
                    focus.setBase(SystemClock.elapsedRealtime());
                }
            });
     
            return inflater.inflate(R.layout.information_course,container, false);
        }
    }
    L'erreur dans 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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    11-29 13:09:39.163    1855-1855/com.tutos E/AndroidRuntime﹕ FATAL EXCEPTION: main
        Process: com.tutos, PID: 1855
        java.lang.NullPointerException
                at com.tutos.InformationCourse.onCreateView(InformationCourse.java:29)
                at android.support.v4.app.Fragment.performCreateView(Fragment.java:1478)
                at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927)
                at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
                at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
                at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1460)
                at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:472)
                at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141)
                at android.support.v4.view.ViewPager.populate(ViewPager.java:1068)
                at android.support.v4.view.ViewPager.populate(ViewPager.java:914)
                at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1436)
                at android.view.View.measure(View.java:16497)
                at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
                at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
                at android.view.View.measure(View.java:16497)
                at android.widget.LinearLayout.measureVertical(LinearLayout.java:847)
                at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
                at android.view.View.measure(View.java:16497)
                at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
                at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
                at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2291)
                at android.view.View.measure(View.java:16497)
                at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1916)
                at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1113)
                at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1295)
                at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1000)
                at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5670)
                at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
                at android.view.Choreographer.doCallbacks(Choreographer.java:574)
                at android.view.Choreographer.doFrame(Choreographer.java:544)
                at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
                at android.os.Handler.handleCallback(Handler.java:733)
                at android.os.Handler.dispatchMessage(Handler.java:95)
                at android.os.Looper.loop(Looper.java:136)
                at android.app.ActivityThread.main(ActivityThread.java:5017)
                at java.lang.reflect.Method.invokeNative(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:515)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
                at dalvik.system.NativeStart.main(Native Method)
    Merci d'avance de votre aide

    Bonne soirée

    Cordialement

    Shin'

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 10
    Par défaut
    up

  3. #3
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Le rôle de onCreateView est justement de créer les views, qui ne sont donc pas encore dans l'activité....
    Tous les findViewById() retourneront donc "null" => Null pointer exception au premier appel de setOnClickListener.

    Il faut inverser le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    View fragmentView = inflater.inflate(R.layout.information_course,container, false);
     
    start = (Button) fragmentView.findViewById(R.id.button1);
    ...
    ...
     
    return fragmentView;

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 10
    Par défaut
    Merci beaucoup, ça fonctionne bien maintenant

    Bonne journée

    Shin'

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

Discussions similaires

  1. [CR] Utilisation de codes à barres dans crystal
    Par franck.cvitrans dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 29/06/2004, 08h48
  2. [servlet][formulaire] utilisation de 2 servlet dans 1 form
    Par luc_pichot dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 26/05/2004, 17h55
  3. utiliser le même fichier dans plusieurs projets vc++6
    Par yannick_sch dans le forum MFC
    Réponses: 5
    Dernier message: 12/02/2004, 17h39
  4. Utilisation de l'unicode dans un algo de cryptage
    Par Zazeglu dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 28/10/2003, 14h38
  5. Réponses: 2
    Dernier message: 24/06/2003, 20h31

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