Intereting Posts
Можно ли изменить агент пользователя в Crosswalk Android / Tizen-Apps? Android + OpenCV: как установить разрешение камеры при использовании CameraBridgeViewBase Как совершить транзакции фрагментации в FragmentPagerAdapter в методе обратного вызова onLoadFinish? Пакет библиотеки Android потерял имена параметров внутренних интерфейсов Как использовать Android Design Pack от Google с помощью Eclipse Как Starbucks показывает пользовательский интерфейс на устройствах Android в ближайшем магазине? Как получить доступ к данным Firebase без использования addValueEventListener Как запустить две анимации на двух разных представлениях по API lvl 19 Есть ли способ импортировать 3D-модель в Android? Android: Как создать пользовательские клавиши формы на клавиатуре? Android. Лучший способ дать разработчику возможность узнать об исключенных исключениях Как пропустить или избежать опции «пересдать и просмотреть» после съемки фотографии с камеры с помощью ACTION_IMAGE_CAPTURE Как я могу установить Wallpaper в android с помощью кодирования? Код результата всегда равен 0 в результате удаления. Intent in android Обнаружение вкл / выкл

RecyclerView Adapter дает ошибку «Иерархия типа RecycleAdapter несовместима»

Я пытаюсь добавить новый RecyclerView в свой проект внутри Fragement . Я следую видеоуроку по Link1 . Когда я пытаюсь создать адаптер для RecyclerView , я начинаю получать эту ошибку. Я использую Eclipse Juno. Я не могу понять проблему. Пожалуйста помоги

Мой код:

 public class RecycleAdapter extends RecyclerView.Adapter<RecycleAdapter.MyViewHolder> { private LayoutInflater inflator; List <Item> data = Collections.EMPTY_LIST; public RecycleAdapter(Context context, List<Item> data){ inflator = LayoutInflater.from(context); } @Override public int getItemCount() { // TODO Auto-generated method stub return data.size(); } @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int arg1) { View view = inflator.inflate(R.layout.row_staggered_new, parent, false); MyViewHolder holder = MyViewHolder(view); return holder; } @Override public void onBindViewHolder(MyViewHolder holder, int position) { Item current = data.get(position); holder.text.setText(current.title); holder.image.setImageResource(current.image); } public static class MyViewHolder extends RecyclerView.ViewHolder{ public ImageView image; public TextView text; public MyViewHolder(View itemView) { super(itemView); image = (ImageView) itemView.findViewById(R.id.imageView1); text = (TextView) itemView.findViewById(R.id.textview1); } } } 

И MyViewHolder и RecycleAdapter дают ошибку: "The hierarchy of the type RecycleAdapter is inconsistent" . В RecycleAdapter части RecycleAdapter отображается ошибка "Bound mismatch: The type RecycleAdapter.MyViewHolder is not a valid substitute for the bounded parameter <VH extends RecyclerView.ViewHolder> of the type RecyclerView.Adapter<VH>" .

Любые указатели?

Я нашел проблему. Проблема заключалась в том, что я использовал более старую версию и библиотеку поддержки v4, которая не содержит класс android.support.v4.view.ScrollingView. Я заменил свою старую библиотеку v4 новой версией, и ошибка исчезла!

Я нашел проблему. Проблема заключалась в том, что я использовал более старую версию и библиотеку поддержки v4, которая не содержит класс android.support.v4.view.ScrollingView. Я заменил свою старую библиотеку v4 новой версией, и ошибка исчезла!

Это полезно мне, Дополнительно к ответу:

Eclipse будет включать проект под названием «appcompat_v7», мы также должны заменить его libs.

В методе onBindViewHolder вы не можете onBindViewHolder класс RecyclerView.ViewHolder непосредственно в MyViewHolder потому что последний является расширением первого.

Вы должны выполнить бросок явно, т. Е.

 public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) { MyViewHolder holder = (MyViewHolder)viewHolder; ... } 

РЕДАКТИРОВАТЬ

У вас несколько проблем с компиляцией, но проблема, о которой вы говорите, связана с тем, что вы расширяете неправильный тип класса. Класс должен распространяться следующим образом:

 extends RecyclerView.Adapter<RecyclerView.ViewHolder> 

Еще одно решение ..

  1. Удалите файл jar из вашей библиотеки.
  2. Копировать android-support-v7-appcompat в рабочую область из sdk → extra → android → support-v7 → appcompat
  3. Вы найдете библиотеку v4 в appcompat
  4. Щелкните правой кнопкой мыши на appcompat и пометьте его как библиотеку, если это не
  5. Теперь щелкните правой кнопкой мыши по вашему проекту, перейдите на путь сборки java, добавьте appcompat в качестве библиотеки.

наслаждаться