2014-11-16 2 views
-1

Я создаю счетчик на основе вызова webservice, где элементы построены в цикле.FATAL EXCEPTION: main java.lang.ClassCastException: при добавлении прослушивателя onItemSelected

Перед началом цикла я хотел добавить «выбрать пункт» пункт по умолчанию, но когда я делаю, я получаю фатальную исключение:

НЕУСТРАНИМОГО ИСКЛЮЧЕНИЕ: главный 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); 
    } 


} 

Я создаю этот материал на основе нескольких учебных пособий различного характера.

Я попытался изменить (CharSequence) в слушателе (ArrayList), но AndroidStudio говорит мне «не может решить метод»

ответ

0

ли так, что должно работать.

Toast.makeText(getApplicationContext(), event_spinner.getSelectedItem().toString(), Toast.LENGTH_SHORT).show(); 
+0

That Works !! Спасибо. Я должен ждать 11 минут, чтобы принять ... – silversunhunter

+0

Что делать, если я хочу значение выбранного элемента? Как в HTML, вы можете сделать

+0

@silversunhunter Да –

Смежные вопросы