title: RecyclerView app crash
body: <p>I have a problem when I'm trying to use a <code>RecyclerView</code>. The app crashes directly on launch. </p>
  
  <p>Here is the error in logcat:</p>
  
  <pre><code>`Process: com.test.alvar.temadagar, PID: 14522
  java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test.alvar.temadagar/com.test.alvar.temadagar.Temadagar}   : android.view.InflateException: Binary XML file line #182: Error   inflating class RecyclerView
          at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2198)
          at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2257)
          at android.app.ActivityThread.access$800(ActivityThread.java:139)
          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210)
          at android.os.Handler.dispatchMessage(Handler.java:102)
          at android.os.Looper.loop(Looper.java:136)
          at android.app.ActivityThread.main(ActivityThread.java:5086)
          at java.lang.reflect.Method.invokeNative(Native Method)
          at java.lang.reflect.Method.invoke(Method.java:515)
          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
          at dalvik.system.NativeStart.main(Native Method)
   Caused by: android.view.InflateException: Binary XML file line #182: Error inflating class RecyclerView
          at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:707)
          at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
          at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
          at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
          at  android.view.LayoutInflater.inflate(LayoutInflater.java:492)
          at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
          at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
          at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:249)
          at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:106)
          at com.test.alvar.temadagar.Temadagar.onCreate(Temadagar.java:73)
          at android.app.Activity.performCreate(Activity.java:5248)
          at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1110)
          at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2162)
  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2257)
  at android.app.ActivityThread.access$800(ActivityThread.java:139)
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210)
  at android.os.Handler.dispatchMessage(Handler.java:102)
  at android.os.Looper.loop(Looper.java:136)
  at android.app.ActivityThread.main(ActivityThread.java:5086)
  at java.lang.reflect.Method.invokeNative(Native Method)
  at java.lang.reflect.Method.invoke(Method.java:515)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
  at        com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
   at dalvik.system.NativeStart.main(Native Method)
  Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.RecyclerView" on path: DexPathList[[zip file "/data/app/com.test.alvar.temadagar-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.test.alvar.temadagar-2, /vendor/lib, /system/lib]]
  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
  at android.view.LayoutInflater.createView(LayoutInflater.java:559)
  at android.view.LayoutInflater.onCreateView(LayoutInflater.java:652)
  at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:66)
  at android.view.LayoutInflater.onCreateView(LayoutInflater.java:669)
  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:694)
  at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
  at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
  at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
  at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
  at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
  at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
  at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:249)
  at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:106)
  at com.test.alvar.temadagar.Temadagar.onCreate(Temadagar.java:73)
  at android.app.Activity.performCreate(Activity.java:5248)
  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1110)
  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2162)
   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2257)
  at android.app.ActivityThread.access$800(ActivityThread.java:139)
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210)
  at android.os.Handler.dispatchMessage(Handler.java:102)
  at android.os.Looper.loop(Looper.java:136)
  at android.app.ActivityThread.main(ActivityThread.java:5086)
  at java.lang.reflect.Method.invokeNative(Native Method)
  at java.lang.reflect.Method.invoke(Method.java:515)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
  at dalvik.system.NativeStart.main(Native Method)`
  
  &lt;/pre&gt;
  </code></pre>
  
  <p>Temadagar.java (Main activity)</p>
  
  <pre><code>package com.test.alvar.temadagar;
  
  import android.os.Build;
  import android.os.Bundle;
  import android.support.v4.app.ActivityOptionsCompat;
  import android.support.v7.app.AppCompatActivity;
  import android.support.v7.widget.LinearLayoutManager;
  import android.support.v7.widget.RecyclerView;
  
  import java.util.ArrayList;
  
  import android.os.StrictMode;
  import android.util.Log;
  
  public class Temadagar extends AppCompatActivity {
  
  
  private RecyclerView mRecyclerView;
  private RecyclerView.Adapter mAdapter;
  private RecyclerView.LayoutManager mLayoutManager;
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_temadagar);
      StrictMode.enableDefaults(); //STRICT MODE ENABLED
  
  
      mRecyclerView = (RecyclerView) findViewById(R.id.my_recycler_view);
      mRecyclerView.setHasFixedSize(true);
      mLayoutManager = new LinearLayoutManager(this);
      mRecyclerView.setLayoutManager(mLayoutManager);
      mAdapter = new MyRecyclerViewAdapter(getDataSet());
      mRecyclerView.setAdapter(mAdapter);
  
  
  }
  
  
  @Override
  protected void onResume() {
      super.onResume();
      ((MyRecyclerViewAdapter) mAdapter).setOnItemClickListener(new
           MyRecyclerViewAdapter.MyClickListener() {
               @Override
               public void onItemClick(int position, View v) {
                   // Log.i(LOG_TAG, " Clicked on Item " + position);
               }
           });
  }
  
  private ArrayList&lt;DataObject&gt; getDataSet() {
      ArrayList results = new ArrayList&lt;DataObject&gt;();
      for (int index = 0; index &lt; 20; index++) {
          DataObject obj = new DataObject("Some Primary Text " + index,
                  "Secondary " + index);
          results.add(index, obj);
      }
  
      return results;
  }
  
  }    
  </code></pre>
  
  <p>DataObject.java </p>
  
  <pre><code>package com.test.alvar.temadagar;
  
  public class DataObject {
  
  private String mText1;
  private String mText2;
  
  DataObject (String text1, String text2){
      mText1 = text1;
      mText2 = text2;
  }
  
  public String getmText1() {
      return mText1;
  }
  
  public void setmText1(String mText1) {
      this.mText1 = mText1;
  }
  
  public String getmText2() {
      return mText2;
  }
  
  public void setmText2(String mText2) {
      this.mText2 = mText2;
  }
  }
  </code></pre>
  
  <p>MyRecyclerViewAdapter.java</p>
  
  <pre><code>package com.test.alvar.temadagar;
  
  import android.support.v7.widget.RecyclerView;
  import android.util.Log;
  import android.view.LayoutInflater;
  import android.view.View;
  import android.view.ViewGroup;
  import android.widget.TextView;
  
  import java.util.ArrayList;
  
  public class MyRecyclerViewAdapter extends RecyclerView
      .Adapter&lt;MyRecyclerViewAdapter
      .DataObjectHolder&gt; {
  private static String LOG_TAG = "MyRecyclerViewAdapter";
  private ArrayList&lt;DataObject&gt; mDataset;
  private static MyClickListener myClickListener;
  
  public static class DataObjectHolder extends RecyclerView.ViewHolder
          implements View
          .OnClickListener {
      TextView label;
      TextView dateTime;
  
      public DataObjectHolder(View itemView) {
          super(itemView);
          label = (TextView) itemView.findViewById(R.id.textView);
          dateTime = (TextView) itemView.findViewById(R.id.textView2);
          Log.i(LOG_TAG, "Adding Listener");
          itemView.setOnClickListener(this);
      }
  
      @Override
      public void onClick(View v) {
          myClickListener.onItemClick(getPosition(), v);
      }
  }
  
  public void setOnItemClickListener(MyClickListener myClickListener) {
      this.myClickListener = myClickListener;
  }
  
  public MyRecyclerViewAdapter(ArrayList&lt;DataObject&gt; myDataset) {
      mDataset = myDataset;
  }
  
  @Override
  public DataObjectHolder onCreateViewHolder(ViewGroup parent,
                                             int viewType) {
      View view = LayoutInflater.from(parent.getContext())
              .inflate(R.layout.list_item, parent, false);
  
      DataObjectHolder dataObjectHolder = new DataObjectHolder(view);
      return dataObjectHolder;
  }
  
  @Override
  public void onBindViewHolder(DataObjectHolder holder, int position) {
      holder.label.setText(mDataset.get(position).getmText1());
      holder.dateTime.setText(mDataset.get(position).getmText2());
  }
  
  public void addItem(DataObject dataObj, int index) {
      mDataset.add(dataObj);
      notifyItemInserted(index);
  }
  
  public void deleteItem(int index) {
      mDataset.remove(index);
      notifyItemRemoved(index);
  }
  
  @Override
  public int getItemCount() {
      return mDataset.size();
  }
  
  public interface MyClickListener {
      public void onItemClick(int position, View v);
  }
  }
  </code></pre>
  
  <p>list_item.xml</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:background="?android:attr/selectableItemBackground"
  android:orientation="vertical"&gt;
  
  &lt;TextView
      android:id="@+id/textView"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:paddingLeft="@dimen/activity_horizontal_margin"
      android:paddingTop="5dp"
      android:text="Large Text"
      android:textAppearance="?android:attr/textAppearanceLarge" /&gt;
  
  &lt;TextView
      android:id="@+id/textView2"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:paddingBottom="5dp"
      android:paddingLeft="@dimen/activity_horizontal_margin"
      android:text="Small Text"
      android:textAppearance="?android:attr/textAppearanceSmall" /&gt;
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p>activity_temdagar.xml (main)</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;RelativeLayout
  android:layout_height="match_parent"
  android:layout_width="match_parent"
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"&gt;
  
  &lt;RecyclerView
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_below="@+id/coming_text"
      android:id="@+id/my_recycler_view"/&gt;
  
  &lt;/RelativeLayout&gt;
  </code></pre>