【问题标题】:Spinner with ArrayAdapter<String> showing null pointer exception?带有 ArrayAdapter<String> 的微调器显示空指针异常?
【发布时间】:2014-05-07 05:37:57
【问题描述】:

问题很明显,但仍然没有一个可以帮助我解决。 我正在使用需要通过数组适配器填充字符串的微调器。但是在运行应用程序时,null pointer exception 发生了。此外,我已将 spinner 和 ArrayAdapter&lt;String&gt; 声明为 global variable 并在 onCreate method 中定义它。但它仍然显示空指针异常。任何人都可以看看我的代码,看看问题是什么以及如何解决它。提前致谢。

这是我的代码:

String elements[] ={"- Select -","Iron", "Bronze", "Magnesium"};
Spinner fSpinner;
ArrayAdapter<String> adp;

在 onCreate 中:

fSpinner =(Spinner)findViewById(R.id.fSpinner);
    adp = new ArrayAdapter<String> (MainActivity.this, android.R.layout.simple_spinner_dropdown_item,elements);
    fSpinner.setAdapter(adp);

【问题讨论】:

  • 然后发布你的 logcat。
  • @Simple Plan 看看我对 logcat 的编辑
  • @AB 你的MainActivity 的第 107 行是什么?或发布您的MainActivity
  • 验证您是否添加了正确的布局...
  • @Simple 计划第 107 行:fSpinner.setAdapter(adp);

标签: android spinner android-arrayadapter


【解决方案1】:

这对我有用

List<String> elements=new ArrayList<String>();
elements.add("- Select -");
elements.add("Iron");
ArrayAdapter<String> adapt= new ArrayAdapter<String>(
                this, android.R.layout.simple_spinner_item, elements);
adapt.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(adapt);

【讨论】:

  • 我已经把这个微调器放在对话框中,在关闭对话框后重新打开对话框时微调器总是显示-Select- 而不是我选择的,所以有什么办法可以做到一样,谢谢
  • 您现在必须保存微调器状态并将其保存在共享首选项中
  • 为此发布另一个问题并提供链接,您会找到答案
【解决方案2】:
ArrayAdapter<Charsequence> adt= new ArrayAdapter<Charsequence>(this,android.R.layout.simple_spinner_item, list);
        adt.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(dataAdapter);

进行必要的更改并尝试上面的代码。

【讨论】:

    猜你喜欢
    • 2013-01-17
    • 1970-01-01
    • 1970-01-01
    • 2015-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多