Ошибка раздувания класса RecyclerView

Таким образом, мой код просто создает список CardView с использованием RecyclerView. После запуска моего кода я продолжал получать странную ошибку, заявляя, что в моем xml произошла ошибка. Немного поработав, я узнал, что в моем файле макета, если я сменил <RecyclerView> на <android.support.v7.widget.RecyclerView> все будет работать нормально. Почему это происходит?
Моя деятельность.

 import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.Menu; import android.view.MenuItem; import java.util.ArrayList; public class CardListActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_card_list); RecyclerView recyclerView = (RecyclerView)findViewById(R.id.cardList); recyclerView.setHasFixedSize(true); LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this); linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL); recyclerView.setLayoutManager(linearLayoutManager); ArrayList<String> list = new ArrayList<>(); for(int i = 0; i < 20; i++) {list.add("Item " + i);} CardListAdapter cardListAdapter = new CardListAdapter(list); recyclerView.setAdapter(cardListAdapter); } } 

Мой адаптер

  import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import java.util.List; public class CardListAdapter extends RecyclerView.Adapter<CardListAdapter.CardListViewHolder> { private List<String> list; public CardListAdapter(List<String> list) { this.list = list; } @Override public CardListViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) { View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.card_layout,viewGroup,false); return new CardListViewHolder(v); } @Override public void onBindViewHolder(CardListViewHolder cardListViewHolder, int i) { String s = list.get(i); cardListViewHolder.title.setText(s); } @Override public int getItemCount() { return list.size(); } public static class CardListViewHolder extends RecyclerView.ViewHolder { TextView title; public CardListViewHolder(View itemView) { super(itemView); title = (TextView)itemView.findViewById(R.id.title); } } } 

Мой файл макета, заметьте, изменив <RecyclerView> на <android.support.v7.widget.RecyclerView> исправляет ошибку.

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".CardListActivity"> <RecyclerView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/cardList"> </RecyclerView> 

Когда я запускаю с <RecyclerView> я получаю эту ошибку.

 `Process: com.liquidink.lollipopmaterialui, PID: 7317 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.liquidink.lollipopmaterialui/com.liquidink.lollipopmaterialui.CardListActivity}: android.view.InflateException: Binary XML file line #8: Error inflating class RecyclerView at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) at android.app.ActivityThread.access$800(ActivityThread.java:144) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5221) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class RecyclerView at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:757) at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) at android.view.LayoutInflater.inflate(LayoutInflater.java:504) at android.view.LayoutInflater.inflate(LayoutInflater.java:414) at android.view.LayoutInflater.inflate(LayoutInflater.java:365) at android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:228) at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:102) at com.liquidink.lollipopmaterialui.CardListActivity.onCreate(CardListActivity.java:18) at android.app.Activity.performCreate(Activity.java:5933) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)            at android.app.ActivityThread.access$800(ActivityThread.java:144)            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)            at android.os.Handler.dispatchMessage(Handler.java:102)            at android.os.Looper.loop(Looper.java:135)            at android.app.ActivityThread.main(ActivityThread.java:5221)            at java.lang.reflect.Method.invoke(Native Method)            at java.lang.reflect.Method.invoke(Method.java:372)            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.RecyclerView" on path: DexPathList[[zip file "/data/app/com.liquidink.lollipopmaterialui-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at android.view.LayoutInflater.createView(LayoutInflater.java:571) at android.view.LayoutInflater.onCreateView(LayoutInflater.java:665) at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:65) at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)            at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)            at android.view.LayoutInflater.inflate(LayoutInflater.java:504)            at android.view.LayoutInflater.inflate(LayoutInflater.java:414)            at android.view.LayoutInflater.inflate(LayoutInflater.java:365)            at android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:228)            at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:102)            at com.liquidink.lollipopmaterialui.CardListActivity.onCreate(CardListActivity.java:18)            at android.app.Activity.performCreate(Activity.java:5933)            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)            at android.app.ActivityThread.access$800(ActivityThread.java:144)            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)            at android.os.Handler.dispatchMessage(Handler.java:102)            at android.os.Looper.loop(Looper.java:135)            at android.app.ActivityThread.main(ActivityThread.java:5221)            at java.lang.reflect.Method.invoke(Native Method)            at java.lang.reflect.Method.invoke(Method.java:372)            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) Suppressed: java.lang.ClassNotFoundException: android.view.RecyclerView at java.lang.Class.classForName(Native Method) at java.lang.BootClassLoader.findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... 26 more Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available 

`

Solutions Collecting From Web of "Ошибка раздувания класса RecyclerView"

RecyclerView не включен в базовую платформу Android, только макеты в базовой платформе Android (например, ListView , GridView т. Д.) Могут быть указаны в макете без полного пространства имен. RecyclerView является частью библиотеки поддержки recyclerview-v7 .

Вы должны добавить RecyclerView в XML следующим образом:

 <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/cardList"> </android.support.v7.widget.RecyclerView> 

Надеюсь, поможет!

Сегодня я встречаю эту проблему. И решил.

Первый шаг: сохранить поддерживаемые библиотеки, которые вы использовали, – это одна и та же версия

 compile 'com.android.support:appcompat-v7:23.1.1' compile 'com.android.support:support-v4:23.1.1' compile 'com.android.support:recyclerview-v7:23.1.1' 

Второй шаг: вы должны добавить recyclerView в свои файлы proguard

 -keep class android.support.v7.widget.** {*;} // I`ve just keep all widgets 

Обязательно включите, прежде чем добавлять RecyclerView в свой XML-файл.

 compile 'com.android.support:recyclerview-v7:22.2.0' compile 'com.android.support:appcompat-v7:22.2.0' 

Если вы создали RecyclerView в своем XML перед добавлением этих зависимостей, чтобы заставить его работать, вы должны удалить (комментировать) свой просмотр ресайклеров, построить проект без него и затем добавить его обратно. В противном случае он по-прежнему показывает исключение Inflate в двоичной строке XML #n.