Android Spinner on click会使应用程序崩溃

Android Spinner on click会使应用程序崩溃,android,spinner,android-spinner,Android,Spinner,Android Spinner,我在我的应用程序中定义了一个微调器,它在主活动开始时加载。该活动将成功加载微调器,并使用另一个类的字符串数组中的值加载微调器 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Spinner spinner = (Spinner) findViewById(R.id.spinner)

我在我的应用程序中定义了一个微调器,它在主活动开始时加载。该活动将成功加载微调器,并使用另一个类的字符串数组中的值加载微调器

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

    Spinner spinner = (Spinner) findViewById(R.id.spinner);

    AnotherClass ac = new AnotherClass();

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, ac.array);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);

}
关于如何解决这个问题有什么建议吗


谢谢。

我在您的代码中找到了什么。在代码中找不到资源。所以你必须检查一下

Spinner spinner = (Spinner) findViewById(R.id.spinner);
// Create an ArrayAdapter using the string array and a default spinner layout
ArrayAdapter<String> adapter = ArrayAdapter.createFromResource(this,
        R.array.planets_array, android.R.layout.simple_spinner_item);
// Specify the layout to use when the list of choices appears
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
spinner.setAdapter(adapter);
Spinner-Spinner=(Spinner)findViewById(R.id.Spinner);
//使用字符串数组和默认微调器布局创建ArrayAdapter
ArrayAdapter=ArrayAdapter.createFromResource(此,
R.array.planets_数组,android.R.layout.simple_微调器_项);
//指定显示选项列表时要使用的布局
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
//将适配器应用于微调器
旋转器。设置适配器(适配器);

请参阅更多详细信息,这就是我出错的地方:

array = new String[12];
array[0] = "JanuaryX";
array[1] = "FebruaryX";
array[2] = "March";
array[3] = "April";
array[4] = "May";
应该是:

array = new String[5];

ac.array
为空,这就是为什么它抛出NullPointerException@ρцσρѕρєK,这很奇怪。加载活动时,微调器将从数组中加载值。在模拟器上至少可以看到数组中的第一个值。只需在使用日志将数组发送到ArrayAdapter之前调试代码,并检查您是否在数组@ρцσѕρєK中获取了所有值,明白了。数组的大小与我加载到其中的元素不匹配。谢谢你的建议!
array = new String[5];