2017-10-12 3 views
-3

continuer à exécuter mon application, mais l'erreur suivante:Android App Studio se bloque instantanément - java.lang.NullPointerException

« java.lang.NullPointerException: Tentative d'invoquer la méthode virtuelle « android.text.Editable android. widget.EditText.getText() 'sur une référence d'objet null "

Cela se produit chaque fois que j'essaie réellement d'exécuter du code en utilisant les variables de cette page. Le simple fait de déclarer que leurs identifiants ne posent aucune erreur, je suppose, car ils ne sont jamais appelés.

Je ne suis pas sûr de ce que j'ai eu tort. Je sais que je vais avoir besoin d'une vérification pour l'analyse car une exception NumberException peut se produire, mais elle ne va même pas atteindre ce point et je ne sais pas pourquoi. même un basic .getText() provoque un crash.

J'ai vérifié le lien d'une question en double mais je ne peux pas voir où je n'ai pas initialisé correctement.

protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    // variable declarations for reservation details 
    final EditText emailInput = (EditText) findViewById(R.id.emailInput); 
    final EditText phoneInput = (EditText) findViewById(R.id.phoneInput); 
    final EditText dateInput = (EditText) findViewById(R.id.dateInput); 
    final EditText totalAdults = (EditText) findViewById(R.id.totalAdults); 
    final EditText totalKids = (EditText) findViewById(R.id.totalKids); 

    // declare next and back buttons for all pages 
    final Button nextToDinner = (Button) findViewById(R.id.nextToDinner); 
    final Button backToReservation = (Button) findViewById(R.id.backToReservation); 
    final Button nextToProcessing = (Button) findViewById(R.id.nextToProcessing); 

    // spinner declarations 
    final Spinner countySpinner = (Spinner) findViewById(R.id.countySpinner); 
    final Spinner timeSpinner = (Spinner) findViewById(R.id.timeSpinner); 

    // variable declarations for dinner choices 
    final EditText tendiesInput = (EditText) findViewById(R.id.tendiesInput); 
    final EditText crabInput = (EditText) findViewById(R.id.crabInput); 
    final EditText saladInput = (EditText) findViewById(R.id.saladInput); 
    final EditText wingsInput = (EditText) findViewById(R.id.wingsInput); 
    final EditText soupInput = (EditText) findViewById(R.id.soupInput); 
    final EditText fishDinnerInput = (EditText) findViewById(R.id.fishDinnerInput); 
    final EditText steakDinnerInput = (EditText) findViewById(R.id.steakDinnerInput); 
    final EditText chickenDinnerInput = (EditText) findViewById(R.id.chickenDinnerInput); 
    final EditText kidsDinnerInput = (EditText) findViewById(R.id.kidsDinnerInput); 
    final TextView totalAmount = (TextView) findViewById(R.id.totalAmount); 

    // declare starter prices 
    final double chickenTendies = 10.99; 
    final double crabDip = 13.99; 
    final double salad = 5.99; 
    final double buffaloWings = 8.99; 
    final double soup = 6.99; 

    // declare dinner prices 
    final double fishDinner = 26.99; 
    final double steakDinner = 31.99; 
    final double chickenDinner = 24.99; 
    final double kidsDinner = 15.99; 

    // variable declarations for confirmation page 
    final TextView confirmEmail = (TextView) findViewById(R.id.confirmEmail); 
    final TextView confirmPhone = (TextView) findViewById(R.id.confirmPhone); 
    final TextView confirmCounty = (TextView) findViewById(R.id.confirmCounty); 
    final TextView confirmTime = (TextView) findViewById(R.id.confirmTime); 
    final TextView confirmDate = (TextView) findViewById(R.id.confirmDate); 
    final TextView confirmAdults = (TextView) findViewById(R.id.confirmAdults); 
    final TextView confirmKids = (TextView) findViewById(R.id.confirmKids); 
    final TextView confirmApps = (TextView) findViewById(R.id.confirmApps); 
    final TextView confirmDinners = (TextView) findViewById(R.id.confirmDinners); 
    final TextView confirmTotal = (TextView) findViewById(R.id.confirmTotal); 
    final TextView confirmAddress = (TextView) findViewById(R.id.confirmAddress); 

    // get user input for reservation details and store in variable(s) 
    final String storeEmail = emailInput.getText().toString(); 
    final String storePhone = phoneInput.getText().toString(); 
    final String storeDate = dateInput.getText().toString(); 
    final String storeAdults = totalAdults.getText().toString(); 
    final String storeKids = totalKids.getText().toString(); 

    // declare array adapters for county and time 
    ArrayAdapter countiesArray = new ArrayAdapter(this, android.R.layout.simple_selectable_list_item, county); 
    ArrayAdapter timeArray = new ArrayAdapter(this, android.R.layout.simple_selectable_list_item, time); 

    countySpinner.setOnItemSelectedListener(this); 
    timeSpinner.setOnItemSelectedListener(this); 

    countySpinner.setAdapter(countiesArray); 
    timeSpinner.setAdapter(timeArray); 

** these lines break the code even before a NumberException can occur** 
    // get user input for appetizers and parse to double variables for calculation 
    final double tendiesNum = Double.parseDouble(tendiesInput.getText().toString()); 
    final double crabNum = Double.parseDouble(crabInput.getText().toString()); 
    final double saladNum = Double.parseDouble(saladInput.getText().toString()); 
    final double wingsNum = Double.parseDouble(wingsInput.getText().toString()); 
    final double soupNum = Double.parseDouble(soupInput.getText().toString()); 

    // get user input for dinners and parse to double variables for calculation 
    final double fishNum = Double.parseDouble(fishDinnerInput.getText().toString()); 
    final double chickenNum = Double.parseDouble(chickenDinnerInput.getText().toString()); 
    final double steakNum = Double.parseDouble(steakDinnerInput.getText().toString()); 
    final double kidsNum = Double.parseDouble(kidsDinnerInput.getText().toString()); 

XML pour la page respective:

<Button 
    android:id="@+id/backToReservation" 
    android:layout_width="75dp" 
    android:layout_height="40dp" 
    android:text="BACK" 
    app:layout_constraintBottom_toBottomOf="parent" 
    android:layout_marginBottom="8dp" 
    android:layout_marginRight="293dp" 
    app:layout_constraintRight_toRightOf="parent" /> 

<Button 
    android:id="@+id/nextToProcessing" 
    android:layout_width="85dp" 
    android:layout_height="40dp" 
    android:layout_marginBottom="8dp" 
    android:layout_marginLeft="259dp" 
    android:text="CONFIRM" 
    app:layout_constraintBottom_toBottomOf="parent" 
    app:layout_constraintLeft_toLeftOf="parent" /> 

<TextView 
    android:id="@+id/starterPrice1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="$10.99" 
    android:textSize="10sp" 
    android:textStyle="italic" 
    android:layout_marginLeft="119dp" 
    app:layout_constraintLeft_toLeftOf="parent" 
    android:layout_marginTop="0dp" 
    app:layout_constraintTop_toBottomOf="@+id/tendiesText" /> 

<TextView 
    android:id="@+id/starterPrice2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="$13.99" 
    android:textSize="10sp" 
    android:textStyle="italic" 
    android:layout_marginLeft="119dp" 
    app:layout_constraintLeft_toLeftOf="parent" 
    android:layout_marginTop="0dp" 
    app:layout_constraintTop_toBottomOf="@+id/crabText" /> 

<TextView 
    android:id="@+id/starterPrice3" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="$5.99" 
    android:textSize="10sp" 
    android:textStyle="italic" 
    android:layout_marginLeft="124dp" 
    app:layout_constraintLeft_toLeftOf="parent" 
    android:layout_marginTop="0dp" 
    app:layout_constraintTop_toBottomOf="@+id/saladText" /> 

<TextView 
    android:id="@+id/starterPrice4" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="$8.99" 
    android:textSize="10sp" 
    android:textStyle="italic" 
    android:layout_marginLeft="124dp" 
    app:layout_constraintLeft_toLeftOf="parent" 
    android:layout_marginTop="0dp" 
    app:layout_constraintTop_toBottomOf="@+id/wingsText" /> 

<TextView 
    android:id="@+id/starterPrice5" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="$6.99" 
    android:textSize="10sp" 
    android:textStyle="italic" 
    android:layout_marginLeft="124dp" 
    app:layout_constraintLeft_toLeftOf="parent" 
    android:layout_marginTop="0dp" 
    app:layout_constraintTop_toBottomOf="@+id/soupText" /> 

<TextView 
    android:id="@+id/dinnerPrice1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="$26.99" 
    android:textSize="10sp" 
    android:textStyle="italic" 
    android:layout_marginLeft="119dp" 
    app:layout_constraintLeft_toLeftOf="parent" 
    android:layout_marginTop="0dp" 
    app:layout_constraintTop_toBottomOf="@+id/fishDinnerText" /> 

<TextView 
    android:id="@+id/dinnerPrice2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="$31.99" 
    android:textSize="10sp" 
    android:textStyle="italic" 
    android:layout_marginLeft="119dp" 
    app:layout_constraintLeft_toLeftOf="parent" 
    android:layout_marginTop="0dp" 
    app:layout_constraintTop_toBottomOf="@+id/steakDinnerText" /> 

<TextView 
    android:id="@+id/dinnerPrice3" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="$24.99" 
    android:textSize="10sp" 
    android:layout_marginLeft="119dp" 
    app:layout_constraintLeft_toLeftOf="parent" 
    android:layout_marginTop="0dp" 
    app:layout_constraintTop_toBottomOf="@+id/chickenDinnerText" /> 

<TextView 
    android:id="@+id/dinnerPrice4" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="$15.99" 
    android:textSize="10sp" 
    android:textStyle="italic" 
    android:layout_marginLeft="119dp" 
    app:layout_constraintLeft_toLeftOf="parent" 
    android:layout_marginTop="0dp" 
    app:layout_constraintTop_toBottomOf="@+id/kidsDinnerText" /> 

<TextView 
    android:id="@+id/totalAmount" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="178dp" 
    android:text="Total: " 
    app:layout_constraintTop_toBottomOf="@+id/dinnerTitle" 
    android:layout_marginLeft="109dp" 
    app:layout_constraintLeft_toLeftOf="parent" /> 

<TextView 
    android:id="@+id/menuText" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Menu" 
    android:textAlignment="center" 
    android:textSize="24sp" 
    app:layout_constraintTop_toTopOf="parent" 
    android:layout_marginTop="8dp" 
    android:layout_marginLeft="162dp" 
    app:layout_constraintLeft_toLeftOf="parent" /> 

<TextView 
    android:id="@+id/appetizerTitle" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Appetizers" 
    android:textSize="18sp" 
    android:textStyle="bold" 
    android:layout_marginTop="2dp" 
    app:layout_constraintTop_toBottomOf="@+id/menuText" 
    android:layout_marginLeft="149dp" 
    app:layout_constraintLeft_toLeftOf="parent" /> 

<TextView 
    android:id="@+id/tendiesText" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Chicken Tenders:" 
    android:textAlignment="textStart" 
    android:textSize="16sp" 
    android:layout_marginLeft="29dp" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintTop_toTopOf="@+id/tendiesInput" 
    android:layout_marginTop="0dp" /> 

<EditText 
    android:id="@+id/tendiesInput" 
    android:layout_width="100dp" 
    android:layout_height="35dp" 
    android:layout_marginLeft="100dp" 
    android:layout_marginTop="8dp" 
    android:ems="10" 
    android:inputType="number" 
    android:textAlignment="center" 
    android:textSize="12sp" 
    app:layout_constraintLeft_toRightOf="@+id/tendiesText" 
    app:layout_constraintTop_toBottomOf="@+id/appetizerTitle" /> 

<TextView 
    android:id="@+id/crabText" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Crab Dip:" 
    android:textSize="16sp" 
    android:layout_marginLeft="85dp" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintTop_toTopOf="@+id/crabInput" 
    android:layout_marginTop="0dp" /> 

<EditText 
    android:id="@+id/crabInput" 
    android:layout_width="100dp" 
    android:layout_height="25dp" 
    android:ems="10" 
    android:inputType="number" 
    android:layout_marginTop="16dp" 
    app:layout_constraintTop_toBottomOf="@+id/tendiesInput" 
    app:layout_constraintLeft_toRightOf="@+id/crabText" 
    android:layout_marginLeft="100dp" /> 

<TextView 
    android:id="@+id/wingsText" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Buffalo Wings:" 
    android:textSize="16sp" 
    android:layout_marginLeft="47dp" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintTop_toTopOf="@+id/wingsInput" 
    android:layout_marginTop="0dp" /> 

<EditText 
    android:id="@+id/wingsInput" 
    android:layout_width="100dp" 
    android:layout_height="25dp" 
    android:ems="10" 
    android:inputType="number" 
    android:layout_marginTop="16dp" 
    app:layout_constraintTop_toBottomOf="@+id/saladInput" 
    app:layout_constraintLeft_toRightOf="@+id/wingsText" 
    android:layout_marginLeft="100dp" /> 

<TextView 
    android:id="@+id/soupText" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Soup Special:" 
    android:textSize="16sp" 
    android:layout_marginLeft="57dp" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintTop_toTopOf="@+id/soupInput" 
    android:layout_marginTop="-4dp" /> 

<EditText 
    android:id="@+id/soupInput" 
    android:layout_width="100dp" 
    android:layout_height="25dp" 
    android:ems="10" 
    android:inputType="number" 
    android:layout_marginTop="16dp" 
    app:layout_constraintTop_toBottomOf="@+id/wingsInput" 
    app:layout_constraintLeft_toRightOf="@+id/soupText" 
    android:layout_marginLeft="100dp" /> 

<TextView 
    android:id="@+id/saladText" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Salad:" 
    android:textSize="16sp" 
    android:layout_marginLeft="107dp" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintTop_toTopOf="@+id/saladInput" 
    android:layout_marginTop="0dp" /> 

<EditText 
    android:id="@+id/saladInput" 
    android:layout_width="100dp" 
    android:layout_height="25dp" 
    android:ems="10" 
    android:inputType="number" 
    android:layout_marginTop="16dp" 
    app:layout_constraintTop_toBottomOf="@+id/crabInput" 
    app:layout_constraintLeft_toRightOf="@+id/saladText" 
    android:layout_marginLeft="100dp" /> 

<TextView 
    android:id="@+id/dinnerTitle" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Dinners" 
    android:textSize="18sp" 
    android:textStyle="bold" 
    android:layout_marginTop="205dp" 
    app:layout_constraintTop_toBottomOf="@+id/appetizerTitle" 
    android:layout_marginLeft="161dp" 
    app:layout_constraintLeft_toLeftOf="parent" /> 

<TextView 
    android:id="@+id/fishDinnerText" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Fish:" 
    android:textSize="16sp" 
    android:layout_marginLeft="116dp" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintTop_toTopOf="@+id/fishDinnerInput" 
    android:layout_marginTop="-8dp" /> 

<EditText 
    android:id="@+id/fishDinnerInput" 
    android:layout_width="100dp" 
    android:layout_height="25dp" 
    android:ems="10" 
    android:inputType="number" 
    android:layout_marginTop="8dp" 
    app:layout_constraintTop_toBottomOf="@+id/dinnerTitle" 
    app:layout_constraintLeft_toRightOf="@+id/fishDinnerText" 
    android:layout_marginLeft="100dp" /> 

<TextView 
    android:id="@+id/steakDinnerText" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Steak:" 
    android:textSize="16sp" 
    android:layout_marginLeft="106dp" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintTop_toTopOf="@+id/steakDinnerInput" 
    android:layout_marginTop="0dp" /> 

<EditText 
    android:id="@+id/steakDinnerInput" 
    android:layout_width="100dp" 
    android:layout_height="25dp" 
    android:ems="10" 
    android:inputType="number" 
    android:layout_marginTop="16dp" 
    app:layout_constraintTop_toBottomOf="@+id/fishDinnerInput" 
    app:layout_constraintLeft_toRightOf="@+id/steakDinnerText" 
    android:layout_marginLeft="100dp" /> 

<TextView 
    android:id="@+id/chickenDinnerText" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Chicken:" 
    android:textSize="16sp" 
    android:layout_marginLeft="90dp" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintTop_toTopOf="@+id/chickenDinnerInput" 
    android:layout_marginTop="0dp" /> 

<EditText 
    android:id="@+id/chickenDinnerInput" 
    android:layout_width="100dp" 
    android:layout_height="25dp" 
    android:ems="10" 
    android:inputType="number" 
    android:layout_marginTop="16dp" 
    app:layout_constraintTop_toBottomOf="@+id/steakDinnerInput" 
    app:layout_constraintLeft_toRightOf="@+id/chickenDinnerText" 
    android:layout_marginLeft="100dp" /> 

<TextView 
    android:id="@+id/kidsDinnerText" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Kid's Choice" 
    android:textSize="16sp" 
    android:layout_marginLeft="65dp" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintTop_toTopOf="@+id/kidsDinnerInput" 
    android:layout_marginTop="0dp" /> 

<EditText 
    android:id="@+id/kidsDinnerInput" 
    android:layout_width="100dp" 
    android:layout_height="25dp" 
    android:ems="10" 
    android:inputType="number" 
    android:layout_marginTop="16dp" 
    app:layout_constraintTop_toBottomOf="@+id/chickenDinnerInput" 
    app:layout_constraintLeft_toRightOf="@+id/kidsDinnerText" 
    android:layout_marginLeft="100dp" /> 

Erreur journal:

           java.lang.RuntimeException: Unable to start activity ComponentInfo{edu.dtcc.dinnerreservationapp/edu.dtcc.dinnerreservationapp.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference 
               at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) 
               at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
               at android.app.ActivityThread.-wrap11(ActivityThread.java) 
               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
               at android.os.Handler.dispatchMessage(Handler.java:102) 
               at android.os.Looper.loop(Looper.java:148) 
               at android.app.ActivityThread.main(ActivityThread.java:5417) 
               at java.lang.reflect.Method.invoke(Native Method) 
               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
               Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference 
               at edu.dtcc.dinnerreservationapp.MainActivity.onCreate(MainActivity.java:116) 
               at android.app.Activity.performCreate(Activity.java:6237) 
               at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 
               at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 
               at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  
               at android.app.ActivityThread.-wrap11(ActivityThread.java)  
               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  
               at android.os.Handler.dispatchMessage(Handler.java:102)  
               at android.os.Looper.loop(Looper.java:148)  
               at android.app.ActivityThread.main(ActivityThread.java:5417)  
               at java.lang.reflect.Method.invoke(Native Method)  
               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
+1

La trace de la pile spécifiera sur quelle ligne l'exception se produit. Trouvez cette ligne, déterminez quelle référence 'EditText' est nulle, puis déterminez si vous avez oublié de l'assigner ou si elle ne figure pas dans la présentation que vous avez passée dans' setContentView() '. –

+0

ajoutez 'R.layout.activity_main' –

+0

' MainActivity.onCreate (MainActivity.java:116) '- Trouvez la ligne 116 dans' MainActivity', et continuez comme je l'ai décrit ci-dessus. Nous ne pouvons pas voir vos numéros de ligne. –

Répondre

0

le texte d'édition à partir de laquelle vous souhaitez obtenir un texte id est pas correctement ajouté dans le code chèque re votre identifiant pour l'édition de texte