【发布时间】:2014-11-16 19:41:52
【问题描述】:
我正在创建一个基于 web 服务调用的微调器,其中项目构建在一个循环中。
在启动循环之前,我想添加一个默认的“选择项目”项,但是当我这样做时,我得到了一个致命的异常:
致命异常:主要 java.lang.ClassCastException: com.anyscreeninc.posterviewer.Events 不能转换为 java.lang.CharSequence
if (status.contentEquals("complete")){
final Spinner event_spinner = (Spinner)findViewById(R.id.events);
EventAdapter eAdapter = new EventAdapter(posterSessionSetup.this, android.R.layout.simple_spinner_dropdown_item, eventList);
event_spinner.setAdapter(eAdapter);
//When I add this listener I get the error....
//============================================
event_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView adapter, View v, int i, long lng) {
Toast.makeText(getApplicationContext(), (CharSequence) event_spinner.getSelectedItem(), Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView arg0) {
Toast.makeText(getApplicationContext(), "Nothing selected", Toast.LENGTH_SHORT).show();
}
});
}
这是我修改后的 EventAdapter
public class EventAdapter extends ArrayAdapter<Events> {
private Activity context;
ArrayList<Events> data = null;
public EventAdapter(Activity context, int resource,
ArrayList<Events> data) {
super(context, resource, data);
this.context = context;
this.data = data;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
return super.getView(position, convertView, parent);
}
}
我正在根据几个不同的教程构建这些东西。
我试图将 Listener 中的 (CharSequence) 更改为 (ArrayList) 但 AndroidStudio 告诉我“无法解析方法”
【问题讨论】:
标签: java android listener spinner