【发布时间】:2020-06-09 18:11:14
【问题描述】:
我对编程很陌生,所以请原谅我遇到了这个简单的问题。 我的问题是尝试运行此代码时遇到 NullPointerException,因为我无法在我的微调器上调用 setAdapter 方法。(微调器似乎为空,这就是为什么:c) 我感谢解决这个问题的每一个建议:)
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar=findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
drawer=findViewById(R.id.draw_layout);
NavigationView navigationView=findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
ActionBarDrawerToggle toggle= new ActionBarDrawerToggle(this, drawer, toolbar,R.string.navigation_drawer_open,R.string.navigation_drawer_close);
drawer.addDrawerListener(toggle);
toggle.syncState();
if (savedInstanceState==null){
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,new TrackingPlanFragment()).commit();
navigationView.setCheckedItem(R.id.nav_home);}
textInputExercise=findViewById(R.id.text_input_exercise);
textInputWeight=findViewById(R.id.text_input_weight);
textInputSets=findViewById(R.id.text_input_sets);
textInputReps=findViewById(R.id.text_input_reps);
Spinner spinner=(Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter=ArrayAdapter.createFromResource(this,R.array.numbers,android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
}
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.example.fitenss_tracking_app.MainActivity.onCreate(MainActivity.java:61)
【问题讨论】:
-
您是否验证了 id
spinner1exists 在您的 layout.xml 文件中? -
堆栈跟踪会有所帮助。它看起来有点像这样:
java.lang.NullPointerException: MESSAGE GOES HERE at calculators.IntegerCalculator$.ternCollatz(IntegerCalculator.scala:68) at calculators.IntegerCalculatorTest.$anonfun$testTernCollatz$1(IntegerCalculatorTest.scala:115)等。 -
引起:java.lang.NullPointerException:尝试在 com.example.fitenss_tracking_app 的空对象引用上调用虚拟方法 'void android.widget.Spinner.setAdapter(android.widget.SpinnerAdapter)' .MainActivity.onCreate(MainActivity.java:61)
-
是的 spinner1 存在,但它不在我的 activity_main.xml 中,而是在此活动的抽屉菜单的片段中
标签: java android-studio nullpointerexception spinner