Java 空指针验证,即使代码正确
我正在android studio中制作一个应用程序,但我是java新手。我试图使用微调器创建一个下拉菜单,但是我得到了NullPointerExeption,但是我初始化了微调器变量。请帮忙。我犯了一个错误- 原因:java.lang.NullPointerException:尝试调用虚拟机 方法无效 android.widget.Spinner.setAdapter(android.widget.SpinnerAdapter)“”在 位于的空对象引用 com.seedtofarm.seeddelivery.TomatoOrderScreen.onCreate(TomatoOrderScreen.java:35) Java代码Java 空指针验证,即使代码正确,java,android,Java,Android,我正在android studio中制作一个应用程序,但我是java新手。我试图使用微调器创建一个下拉菜单,但是我得到了NullPointerExeption,但是我初始化了微调器变量。请帮忙。我犯了一个错误- 原因:java.lang.NullPointerException:尝试调用虚拟机 方法无效 android.widget.Spinner.setAdapter(android.widget.SpinnerAdapter)“”在 位于的空对象引用 com.seedtofarm.seedd
package com.seedtofarm.seeddelivery;
import android.app.Activity;
import android.view.Window;
import android.view.WindowManager;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.SearchView;
import android.widget.Spinner;
import androidx.appcompat.app.AppCompatActivity;
import java.util.Objects;
public class TomatoOrderScreen extends AppCompatActivity {
Spinner mySpinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
Objects.requireNonNull(getSupportActionBar()).hide();
setContentView(R.layout.activity_main);
mySpinner = (Spinner)findViewById(R.id.spinner2);
ArrayAdapter<String> adapter = new ArrayAdapter<String>
(this,android.R.layout.simple_expandable_list_item_1,
getResources().getStringArray(R.array.Variety));
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mySpinner.setAdapter(adapter);
}
}
我做错什么了吗请帮忙。这能回答你的问题吗<代码>即使代码是正确的如果它是正确的,它也不会崩溃debug行
mySpinner=(微调器)findViewById(R.id.spinner2)代码>,它可能返回空值。请不要将“代码编译无错误”与“代码正确”混淆。
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#E5E5E5"
tools:context=".TomatoOrderScreen">
<ImageView
android:id="@+id/cropImage"
android:layout_width="389dp"
android:layout_height="327dp"
android:layout_marginBottom="380dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/textView2"
app:layout_constraintHorizontal_bias="0.064"
app:layout_constraintStart_toStartOf="@+id/textView2"
app:layout_constraintTop_toBottomOf="@+id/textView2"
app:layout_constraintVertical_bias="0.0"
app:srcCompat="@drawable/tomato" />
<TextView
android:id="@+id/textView2"
android:layout_width="203dp"
android:layout_height="61dp"
android:text="Tomato"
android:textColor="@color/black"
android:textSize="48sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.084"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.02" />
<TextView
android:id="@+id/textView3"
android:layout_width="324dp"
android:layout_height="56dp"
android:text="Get by: 12 June"
android:textColor="#8BC34A"
android:textSize="34sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.057"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"``
app:layout_constraintVertical_bias="0.582" />
<Button
android:id="@+id/button8"
android:layout_width="353dp"
android:layout_height="81dp"
android:text="Order Now"
android:textSize="24sp"
app:backgroundTint="#8BC34A"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/textView3"
app:layout_constraintHorizontal_bias="0.034"
app:layout_constraintStart_toStartOf="@+id/textView3"
app:layout_constraintTop_toBottomOf="@+id/textView3"
app:layout_constraintVertical_bias="0.531" />
<Button
android:id="@+id/button2"
android:layout_width="347dp"
android:layout_height="66dp"
android:layout_marginTop="23dp"
android:text="Add To Cart"
app:backgroundTint="#4CAF50"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/button8"
app:layout_constraintHorizontal_bias="0.833"
app:layout_constraintStart_toStartOf="@+id/button8"
app:layout_constraintTop_toBottomOf="@+id/button8"
app:layout_constraintVertical_bias="0.0" />
<Spinner
android:id="@+id/spinner2"
android:layout_width="391dp"
android:layout_height="wrap_content"
android:layout_marginTop="52dp"
android:layout_marginBottom="53dp"
app:layout_constraintBottom_toTopOf="@+id/button8"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView3" />
</androidx.constraintlayout.widget.ConstraintLayout>
06-03 10:00:57.869 28426-28426/com.seedtofarm.seeddelivery
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.seedtofarm.seeddelivery, PID: 28426
java.lang.RuntimeException: Unable to start activity
OrderScreen}: java.lang.NullPointerException: Attempt to invoke virtual
method 'void
android.widget.Spinner.setAdapter(android.widget.SpinnerAdapter)' on a
null object reference
at
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2426)
at android.app.ActivityThread.access$900(ActivityThread.java:155)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1331)
at android.os.Handler.dispatchMessage(Handler.java:102)
`enter code here` at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5318)
at java.lang.reflect.Method.invoke(Nativ`enter code here`e Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:922)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:717)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Spinner.setAdapter(android.widget.SpinnerAdapter)' on a null object reference
at com.seedtofarm.seeddelivery.TomatoOrderScreen.onCreate(TomatoOrderScreen.java:35)
at android.app.Activity.performCreate(Activity.java:6024)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2317)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2426)
at android.app.ActivityThread.access$900(ActivityThread.java:155)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1331)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5318)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:922)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:717)