main.xml部分代码:<Spinner 
    android:id="@+id/color_spinner"
    android:layout_width="fill_parent" 
     android:layout_height="wrap_content"
     android:prompt="@string/prompt_name"
     android:entries="@array/colors"
   />
string.xml部分代码:<string-array name="colors">
     <item>黄色</item>
     <item>绿色</item>
     <item>红色</item>
    </string-array>
MainActivity部分代码:
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        findViews();
        //下拉框点击事件
        spinner.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
// TODO Auto-generated method stub
//得到选中item的数据

resultView.setText("您喜欢的颜色是:");
//讲数据设置到resultView中显示
}
});
    }
    public void findViews(){
     resultView = (TextView) this.findViewById(R.id.show_color);
     spinner = (Spinner) this.findViewById(R.id.color_spinner);
    }这样怎么会报错啊,我把spinner.setOnItemClickListener注销以后就好了,这种情况该怎么设置这个item的点击事件啊?

解决方案 »

  1.   

     spinner.setOnItemClickListener(new OnItemClickListener() {
                //  @Override 去掉这个行
                public void onItemClick(AdapterView<?> parent, View view, int position,
                        long id) {
                    // TODO Auto-generated method stub
                    //得到选中item的数据
                    
                    resultView.setText("您喜欢的颜色是:");
                    //讲数据设置到resultView中显示
                }
            });
      

  2.   

    不对,我错了,11-04 17:04:33.144: E/AndroidRuntime(522): Caused by: java.lang.RuntimeException: setOnItemClickListener cannot be used with a spinner.你的程序报错是这样子的,查了下API,11-04 17:04:33.144: A spinner does not support item click events. Calling this method will raise an exception.
    spinner 不支持这个响应函数,
    用这个吧 setOnItemSelectedListener
      

  3.   

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

    }
    });