Partage
  • Partager sur Facebook
  • Partager sur Twitter

Crash d'application Erreur de Boolean

Caused by: java.lang.NullPointerException: Attempt to invoke virt

Sujet résolu
    16 juin 2019 à 17:09:57

    Bonjour tout le monde

    je suis sur le point de finir une petite appli, sauf que je rencontre un problème un peu bizarre,

    Car L'appli se lance à la perfection sur un ancien sumsung et s'arrete des le debut sur le Smsung S10+ qui a l'api 28

    J'ai essayé de lancé une appli vide et il n'y a aucun problème sur son fonctionnement.

    je vous mets le code et le fichier Xml associé

    et je vous remercie pour votre temps et aide (: o_O

    2019-06-16 16:58:50.537 25232-25232/? E/Zygote: isWhitelistProcess - Process is Whitelisted
    2019-06-16 16:58:50.537 25232-25232/? E/Zygote: accessInfo : 1
    2019-06-16 16:58:50.870 25232-25232/? E/AndroidRuntime: FATAL EXCEPTION: main
        Process: com.ouss.oussquizza, PID: 25232
        java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ouss.oussquizza/com.ouss.oussquizza.controller.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3107)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3250)
            at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
            at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
            at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1947)
            at android.os.Handler.dispatchMessage(Handler.java:106)
            at android.os.Looper.loop(Looper.java:214)
            at android.app.ActivityThread.main(ActivityThread.java:7032)
            at java.lang.reflect.Method.invoke(Native Method)
            at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
         Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
            at com.ouss.oussquizza.controller.MainActivity.onCreate(MainActivity.java:62)
            at android.app.Activity.performCreate(Activity.java:7327)
            at android.app.Activity.performCreate(Activity.java:7318)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3087)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3250) 
            at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 
            at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) 
            at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1947) 
            at android.os.Handler.dispatchMessage(Handler.java:106) 
            at android.os.Looper.loop(Looper.java:214) 
            at android.app.ActivityThread.main(ActivityThread.java:7032) 
            at java.lang.reflect.Method.invoke(Native Method) 
            at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965) 
    
    package com.ouss.oussquizza.controller;
    
    import android.content.Intent;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.text.Editable;
    import android.text.TextWatcher;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;
    
    import com.ouss.oussquizza.R;
    import com.ouss.oussquizza.model.User;
    
    import static java.lang.Boolean.FALSE;
    
    public class MainActivity extends AppCompatActivity {
    
        private TextView PremierText ;
        private EditText PremierChamp;
        private Button Play;
        private User mUser;
        public static final int jeu_requestCode = 1;
    
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            if(jeu_requestCode == requestCode && RESULT_OK == resultCode){
                int score = data.getIntExtra(Main2Activity.id_score,0);
            }
        }
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
           mUser = new User();
           PremierText = (TextView) findViewById(R.id.premier_text);
           PremierChamp = (EditText) findViewById(R.id.premier_champ);
           Play = (Button) findViewById(R.id.button_play);
    
    
           PremierChamp.addTextChangedListener(new TextWatcher() {
               @Override
               public void beforeTextChanged(CharSequence s, int start, int count, int after) {
    
               }
    
               @Override
               public void onTextChanged(CharSequence s, int start, int before, int count) {
                    Play.setEnabled(s.toString().length() != 0);
               }
    
               @Override
               public void afterTextChanged(Editable s) {
    
               }
           });
    
           Play.setOnClickListener(new View.OnClickListener() {
               @Override
               public void onClick(View v) {
                   String prenom = PremierText.getText().toString();
                   mUser.setPrenom(prenom);
                   Intent Act2 = new Intent(MainActivity.this,Main2Activity.class);
                   startActivity(Act2);
                   startActivityForResult(Act2,jeu_requestCode);
               }
           });
    
        }
    }
    

    Code java 

    package com.ouss.oussquizza.controller;
    
    import android.content.Intent;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.text.Editable;
    import android.text.TextWatcher;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;
    
    import com.ouss.oussquizza.R;
    import com.ouss.oussquizza.model.User;
    
    import static java.lang.Boolean.FALSE;
    
    public class MainActivity extends AppCompatActivity {
    
        private TextView PremierText ;
        private EditText PremierChamp;
        private Button Play;
        private User mUser;
        public static final int jeu_requestCode = 1;
    
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            if(jeu_requestCode == requestCode && RESULT_OK == resultCode){
                int score = data.getIntExtra(Main2Activity.id_score,0);
            }
        }
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
           mUser = new User();
           PremierText = (TextView) findViewById(R.id.premier_text);
           PremierChamp = (EditText) findViewById(R.id.premier_champ);
           Play = (Button) findViewById(R.id.button_play);
    
    
           PremierChamp.addTextChangedListener(new TextWatcher() {
               @Override
               public void beforeTextChanged(CharSequence s, int start, int count, int after) {
    
               }
    
               @Override
               public void onTextChanged(CharSequence s, int start, int before, int count) {
                    Play.setEnabled(s.toString().length() != 0);
               }
    
               @Override
               public void afterTextChanged(Editable s) {
    
               }
           });
    
           Play.setOnClickListener(new View.OnClickListener() {
               @Override
               public void onClick(View v) {
                   String prenom = PremierText.getText().toString();
                   mUser.setPrenom(prenom);
                   Intent Act2 = new Intent(MainActivity.this,Main2Activity.class);
                   startActivity(Act2);
                   startActivityForResult(Act2,jeu_requestCode);
               }
           });
    
        }
    }

    Code xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".controller.MainActivity">
    
        <TextView
            android:id="@+id/premier_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="20dp"
            android:gravity="center"
            android:background="#F0FFFF"
            android:text="@string/bienvenu_quel_est_votre_nom" />
    
        <EditText
            android:id="@+id/premier_champ"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginStart="20dp"
            android:layout_marginEnd="20dp"
            android:hint="@string/tapez_votre_nom_svp"
            android:autofillHints="@string/tapez_votre_nom_svp"
            android:inputType="" tools:targetApi="o"/>
    
        <Button
            android:id="@+id/button_play"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/jouer"
            android:layout_gravity="center"
            android:padding="30dp"
            android:layout_marginTop="20dp"/>
    
    </LinearLayout>

    Merci encore




    • Partager sur Facebook
    • Partager sur Twitter
      17 juin 2019 à 9:53:01

      Salut,

      La partie intéressante de la stackstrace est celle ci

       java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ouss.oussquizza/com.ouss.oussquizza.controller.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference

      Dans ta mainActivity tu tentes d'appeler la méthode setOnClickListener sur un bouton dont la référence est null. LE fichier XML que tu donnes est bien le fichier activity_main.xml ?

      • Partager sur Facebook
      • Partager sur Twitter
        18 juin 2019 à 21:10:46

        Merci pour ta réponse Rolandl

        Oui c'est le fichier Activity_main.xml

        • Partager sur Facebook
        • Partager sur Twitter

        Crash d'application Erreur de Boolean

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown