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 в качестве библиотеки.

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