2015-06-05 2 views
0

После кода генерирует исключение, как:ClassCastException в Listview

java.lang.ClassCastException: java.lang.Integer cannot be cast to vro.nagainfo.vromain.model.VROUser. 

ListUsers обычай ListView и VROUser класс

listUsers.setOnItemClickListener(new OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> parent, View view, 
            int position, long id) { 
       VROUser user = (VROUser) listUsers.getItemAtPosition(position); 
       Intent intent = new Intent(getActivity(), ProfileViewActivity.class); 
       intent.putExtra("userId", user.getUserID()); 
       getActivity().startActivity(intent); 

      } 
     }); 

Как это исправить?

+0

Что такое VROUser? геттер-сеттер? –

+0

Добавьте часть кода, которую используют yoy для заполнения listUsers. Вероятно, в каком-то месте вы добавляете целое число – Dubas

+0

использовать onclick в базовом адаптере класса –

ответ

0

Что вы делаете с этим кодом ???

VROUser user = (VROUser) listUsers.getItemAtPosition(position); 

Используйте как этот

VROUser user = listUsers.get(position); 

Используйте его

+0

listview показывает успешно ... Исключение генерируется при вызове OnItemClickListener –

+0

VROUser содержит сведения о выбранном элементе..call, чтобы получить более подробную информацию о выбранном элементе и отобразиться в ProfileViewActivity activity –

+0

Подробности хранятся внутри ArrayList? –

0

ClassCastException означает, что вы объявляете переменную некоторого типа и назначения его к другому типу вы определили в файле макета XML ...

Пример в вашем XML:

<Button 
android:layout_height="wrap_content" 
android:id="@+id/btn1" 
android:layout_width="wrap_content"> 
</Button> 

И в вашем Java коде

ImageView img1 = (ImageView)context.findViewById(R.id.btn1); 

Там нет ошибки компиляции. Но вы являетесь лицом ClassCastException

Проверьте свой список. Как вы объявляете как в XML и Java код

0

Correct:

VROUser user = listUsers.get(position); 
0

Здесь listUsers.getItemAtPosition(position); он дает целое значение, но вы отлиты в VROUser.

+0

да как это возможно? –

+0

Что вы возвращаете в getItem в адаптере? –

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