0
int nvalue=2;
Spinner[] spinner = new Spinner[nvalue];
spinner[].setonitem?

我有微调器数组,我想setOnItemSelectedListener 用于每个setOnItemSelectedListener微调器。如何用于数组微调器?

spinner[0].setOnItemSelectedListener(new OnItemSelectedListener() 
    {
        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) 
        {
        }
        public void onNothingSelected(AdapterView<?> arg0) 
        {
            // TODO Auto-generated method stub              
        }

    }); 

将显示错误

4

2 回答 2

0

如果这就是您拥有的所有代码,那么看起来您可能没有实例化实际的微调器。该行Spinner[] spinner = new Spinner[nvalue];实例化了 Spinners 数组,但此时Spinner数组中每个的值都是null默认值。因此,如果您尝试调用setOnItemSelectedListener()空值,则会引发空指针异常。因此,您必须执行一些操作,例如spinner[0] = new Spinner(context)创建一个新Spinner实例,然后调用spinner[0].setOnItemSelectedListener().

编辑:蒂姆已经回答了:-)

于 2012-08-22T09:21:22.670 回答
0

您是否初始化了数组中的 Spinners 而只是没有添加代码片段?您可以为所有微调器设置一个侦听器,但您必须通过从 xml 膨胀它们或使用 Java 创建它们来初始化它们。

干杯,蒂姆

于 2012-08-22T09:14:15.737 回答