【问题标题】:NullPointerException on spinner.setAdapter(adapter)spinner.setAdapter(适配器)上的 NullPointerException
【发布时间】: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


【解决方案1】:

好的,我终于找到了问题所在。 问题是,我没有将微调器放在 activity_main.xml 文件中,而是放在可以在此活动中调用的片段的 xml 文件中。 现在我已经更改了代码可以正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多