title: Error inflating Class ImageView on RecyclerView
body: <p>I build an app with minimum SDK 15 and target 23, and I have different view in my <code>RecyclerView</code>.
  Apps works well on android version => 5.0 but crashes on android version &lt; 5.0 with the following error message</p>
  
  <blockquote>
    <p>Binary XML file line #159: Error inflating class ImageView
                                                                                                 at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
                                                                                                 at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
                                                                                                 at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
                                                                                                 at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
                                                                                                 at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
                                                                                                 at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
                                                                                                 at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
                                                                                                 at com.shixxels.thankgodrichard.spotpopfinal.adapter.RecyclerAdapter.onCreateViewHolder(RecyclerAdapter.java:64)
                                                                                                 at com.shixxels.thankgodrichard.spotpopfinal.adapter.RecyclerAdapter.onCreateViewHolder(RecyclerAdapter.java:27)
                                                                                                 at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:5833)
                                                                                                 at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5057)
                                                                                                 at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4967)
                                                                                                 at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2029)
                                                                                                 at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1414)
                                                                                                 at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1377)
                                                                                                 at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:578)
                                                                                                 at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3315)
                                                                                                 at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3124)
                                                                                                 at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3568)
                                                                                                 at android.view.View.layout(View.java:14008)
                                                                                                 at android.view.ViewGroup.layout(ViewGroup.java:4373)
                                                                                                 at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
                                                                                                 at android.view.View.layout(View.java:14008)
                                                                                                 at android.view.ViewGroup.layout(ViewGroup.java:4373)
                                                                                                 at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1663)
                                                                                                 at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1652)
                                                                                                 at android.widget.LinearLayout.onLayout(LinearLayout.java:1436)
                                                                                                 at android.view.View.layout(View.java:14008)
                                                                                                 at android.view.ViewGroup.layout(ViewGroup.java:4373)
                                                                                                 at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1021)
                                                                                                 at android.view.View.layout(View.java:14008)
                                                                                                 at android.view.ViewGroup.layout(ViewGroup.java:4373)
                                                                                                 at android.support.design.widget.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:131)
                                                                                                 at android.support.design.widget.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:42)
                                                                                                 at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1364)
                                                                                                 at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:852)
                                                                                                 at android.view.View.layout(View.java:14008)
                                                                                                 at android.view.ViewGroup.layout(ViewGroup.java:4373)
                                                                                                 at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1197)
                                                                                                 at android.view.View.layout(View.java:14008)
                                                                                                 at android.view.ViewGroup.layout(ViewGroup.java:4373)
                                                                                                 at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
                                                                                                 at android.view.View.layout(View.java:14008)
                                                                                                 at android.view.ViewGroup.layout(ViewGroup.java:4373)
                                                                                                 at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1663)
                                                                                                 at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1521)
                                                                                                 at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
                                                                                                 at android.view.View.layout(View.java:14008)
                                                                                                 at android.view.ViewGroup.layout(ViewGroup.java:4373)
                                                                                                 at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
                                                                                                 at android.view.View.layout(View.java:14008)
                                                                                                 at android.view.ViewGroup.layout(ViewGroup.java:4373)
                                                                                                 at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1663)
                                                                                                 at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1521)
                                                                                                 at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
                                                                                                 at android.view.View.layout(View.java:14008)
                                                                                                at android.view.ViewGroup.layout(ViewGr</p>
  </blockquote>
  
  <p><strong>And below is my the code for my <code>RecyclerAdapter</code>:</strong></p>
  
  <pre><code>public class RecyclerAdapter extends RecyclerView.Adapter&lt;RecyclerAdapter.MyViewHolder&gt; { // line 27
  
      private static final int Image_digit = 1;
      private static final int Map_digit = 2;
      private static final int Text_digit = 3;
      private Context context;
  
  
  
  
      private List&lt;FeedAdapter&gt; mDataList;
      private LayoutInflater inflater;
  
      public RecyclerAdapter(Context context, List&lt;FeedAdapter&gt; data) {
          inflater = LayoutInflater.from(context);
          this.mDataList = data;
          this.context = context;
      }
  
      @Override
      public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
          switch (viewType) {  // Create the Prime and Non-Prime row Layouts
  
              case Image_digit:
  
                  ViewGroup imageView = (ViewGroup) inflater.inflate(R.layout.list_item, parent, false);
                  MyViewHolder_Images holderPrime = new MyViewHolder_Images(imageView);
                  return holderPrime;
  
              case Map_digit:
  
                  ViewGroup mapView = (ViewGroup) inflater.inflate(R.layout.list_item_map, parent, false);
                  MyViewHolder_Map holderNonPrime = new MyViewHolder_Map(mapView);
                  return holderNonPrime;
  
              default:
  
                  ViewGroup defaultRow = (ViewGroup) inflater.inflate(R.layout.list_item_text, parent, false); // line 64
                  MyViewHolder_Text holderDefault = new MyViewHolder_Text(defaultRow);
                  return holderDefault;
          }
      }
  
      @Override
      public void onBindViewHolder(MyViewHolder holder, int position) {
          FeedAdapter current = mDataList.get(position);
  
          switch (holder.getItemViewType()) {
  
              case Image_digit:
  
                  MyViewHolder_Images holder_prime = (MyViewHolder_Images) holder;
                  holder_prime.setData(current);
  
                  break;
  
              case Map_digit:
  
                  MyViewHolder_Map holder_not_prime = (MyViewHolder_Map) holder;
                  holder_not_prime.setData(current);
  
                  break;
              default:
                  MyViewHolder_Text holder_not_text = (MyViewHolder_Text) holder;
                  holder_not_text.setData(current);
                  break;
          }
      }
  
      @Override
      public int getItemCount() {
          return mDataList.size();
      }
  
      @Override // This will help us to determine ROW TYPE : i.e. the PRIME or NON-PRIME row.
      public int getItemViewType(int position) {
  
          FeedAdapter feedAdapter = mDataList.get(position);
          if (feedAdapter.getViewInt() == 1)
              return Image_digit;
          else if (feedAdapter.getViewInt() == 2){
              return Map_digit;
          }
          else if (feedAdapter.getViewInt() == 3){
              return Text_digit;
          }
          else {
              return 0;
          }
  
      }
  
      class MyViewHolder extends RecyclerView.ViewHolder {
  
          public MyViewHolder(View itemView) {
              super(itemView);
          }
      }
  
      // Holder class for Images rows
      public class MyViewHolder_Images extends MyViewHolder implements View.OnClickListener {
  
          TextView title;
          ImageView imgThumb, imgRowType, menu;
  
          public MyViewHolder_Images(View itemView) {
              super(itemView);
              title = (TextView) itemView.findViewById(R.id.tvTitle);
              imgThumb = (ImageView) itemView.findViewById(R.id.img_row);
              imgRowType = (ImageView) itemView.findViewById(R.id.img_row2);
              menu   = (ImageView) itemView.findViewById(R.id.img_row_delete);
          }
  
          public void setData(final FeedAdapter current) {
              this.title.setText(current.getTitle());
              this.imgThumb.setImageResource(current.getImageID());
              this.imgRowType.setImageResource(R.drawable.thumb_1_4);
              this.menu.setOnClickListener(MyViewHolder_Images.this);
              this.imgThumb.setOnClickListener(new View.OnClickListener() {
                  @Override
                  public void onClick(View v) {
                      showImage(current.getImageID());
                  }
              });
  
  
          }
          @Override
          public void onClick(View v) {
              Log.i("onClick"," i was clicked");
              openDialog();
  
          }
      }
  
      // Holder class for maps rows
      public class MyViewHolder_Map extends MyViewHolder implements View.OnClickListener {
  
          TextView title;
          ImageView imgThumb, imgRowType, menu;
  
          public MyViewHolder_Map(View itemView) {
              super(itemView);
              title = (TextView) itemView.findViewById(R.id.tvTitle);
              imgThumb = (ImageView) itemView.findViewById(R.id.img_row);
              imgRowType = (ImageView) itemView.findViewById(R.id.img_row2);
              menu   = (ImageView) itemView.findViewById(R.id.img_row_delete);
          }
  
          public void setData(final FeedAdapter current) {
              this.title.setText(current.getTitle());
              this.imgThumb.setImageResource(current.getImageID());
              this.imgRowType.setImageResource(R.drawable.thumb_1_4);
              this.menu.setOnClickListener(MyViewHolder_Map.this);
              this.imgThumb.setOnClickListener(new View.OnClickListener() {
                  @Override
                  public void onClick(View v) {
                      showImage(current.getImageID());
                  }
              });
  
  
          }
          @Override
          public void onClick(View v) {
              Log.i("onClick","i was clicked");
              openDialog();
  
  
  
  
  
          }
      }
      // Holder class for NON-Text rows
      public class MyViewHolder_Text extends MyViewHolder implements View.OnClickListener {
  
          TextView title;
          ImageView imgThumb, menu;
  
          public MyViewHolder_Text(View itemView) {
              super(itemView);
              title = (TextView) itemView.findViewById(R.id.tvTitle);
              imgThumb = (ImageView) itemView.findViewById(R.id.img_row);
              menu   = (ImageView) itemView.findViewById(R.id.img_row_delete);
  
          }
  
          public void setData(final FeedAdapter current) {
              this.title.setText(current.getTitle());
              this.imgThumb.setImageResource(current.getImageID());
              this.menu.setOnClickListener(MyViewHolder_Text.this);
              this.imgThumb.setOnClickListener(new View.OnClickListener() {
                  @Override
                  public void onClick(View v) {
                      showImage(current.getImageID());
                  }
              });
  
          }
          @Override
          public void onClick(View v) {
              Log.i("onClick","i was clicked");
              openDialog();
  
  
  
          }}
  
  
      public void openDialog() {
          final Dialog dialog = new Dialog(context);
          dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
          LinearLayout.LayoutParams dialogParams = new LinearLayout.LayoutParams(
                  400, 256);//set height and width here, ie (width,height)
  
          LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
          View dislogView = inflater
                  .inflate(R.layout.feed_menu, null);
          dialog.setContentView(dislogView, dialogParams);
          // set the custom dialog components - text, image and button
          TextView text = (TextView) dialog.findViewById(R.id.text);
  
  
          TextView dialogButton = (TextView) dialog.findViewById(R.id.report);
          // if button is clicked, close the custom dialog
          dialogButton.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
                  dialog.dismiss();
              }
          });
  
          dialog.show();
      }
  
      public void showImage(int imageUri) {
          Dialog builder = new Dialog(context);
          builder.requestWindowFeature(Window.FEATURE_NO_TITLE);
          builder.getWindow().setBackgroundDrawable(
                  new ColorDrawable(android.graphics.Color.TRANSPARENT));
          builder.setOnDismissListener(new DialogInterface.OnDismissListener() {
              @Override
              public void onDismiss(DialogInterface dialogInterface) {
                  //nothing;
              }
          });
  
          ImageView imageView = new ImageView(context);
          imageView.setImageResource(imageUri);
          builder.addContentView(imageView, new RelativeLayout.LayoutParams(
                  ViewGroup.LayoutParams.MATCH_PARENT,
                  ViewGroup.LayoutParams.MATCH_PARENT));
          builder.show();
      }
  }
  </code></pre>
  
  <p>list_item_text.xml</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;android.support.v7.widget.CardView
      xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:card_view="http://schemas.android.com/apk/res-auto"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_marginLeft="5dp"
      android:layout_marginRight="5dp"
      android:layout_marginTop="5dp"
      card_view:cardCornerRadius="5dp"&gt;
  
      &lt;LinearLayout
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:orientation="vertical"&gt;
  
          &lt;LinearLayout
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:background="@android:color/white"
              android:orientation="horizontal"&gt;
  
              &lt;ImageView
                  android:id="@+id/img_row"
                  android:layout_width="55dp"
                  android:layout_height="57.3dp"
                  android:scaleType="fitXY"
                  android:layout_margin="7dp"
                  android:src="@drawable/thumb_1_0"/&gt;
  
              &lt;LinearLayout
                  android:layout_width="0dp"
                  android:layout_height="match_parent"
                  android:layout_weight="1"
                  android:orientation="vertical"&gt;
                  &lt;LinearLayout
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:orientation="horizontal"
                      android:layout_marginTop="4dp"&gt;
                      &lt;TextView
                          android:id="@+id/tvTitle"
                          android:layout_width="wrap_content"
                          android:layout_height="wrap_content"
                          android:text="@string/title"
                          android:textColor="#000000"
                          android:textSize="12sp"
                          android:textStyle="bold"/&gt;
                      &lt;TextView
                          android:id="@+id/tv_user_tag"
                          android:layout_width="wrap_content"
                          android:layout_height="wrap_content"
                          android:text="@string/tag"
                          android:textColor="#616161"
                          android:textSize="9sp"
                          android:layout_marginLeft="5dp" /&gt;
  
                  &lt;/LinearLayout&gt;
  
                  &lt;TextView
                      android:id="@+id/tvDescription"
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:text="@string/description"
                      android:layout_marginTop="2dp"
                      android:layout_marginBottom="2dp"
                      android:textSize="9sp"
                      android:textStyle="italic"/&gt;
                  &lt;LinearLayout
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:orientation="horizontal"&gt;
  
                      &lt;View
                          android:layout_width="1dp"
                          android:layout_height="fill_parent"
                          android:background="#FF0000FF" /&gt;
  
                      &lt;TextView
                          android:layout_width="wrap_content"
                          android:layout_height="wrap_content"
                          android:layout_marginLeft="5dp"
                          android:text="@string/lorem"
                          android:maxLines="2"
                          android:ellipsize="end"/&gt;
  
                  &lt;/LinearLayout&gt;
  
              &lt;/LinearLayout&gt;
  
              &lt;LinearLayout
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:orientation="vertical"&gt;
  
                  &lt;ImageView
                      android:id="@+id/img_row_delete"
                      android:layout_width="20dp"
                      android:layout_height="20dp"
                      android:layout_margin="7dp"
                      android:contentDescription="@string/delete_image"
                      android:src="@drawable/more"
                      android:tint="@color/colorPrimary"
                      android:clickable="true" /&gt;
  
              &lt;/LinearLayout&gt;
  
          &lt;/LinearLayout&gt;
  
          &lt;View
              android:layout_width="fill_parent"
              android:layout_marginTop="5dp"
              android:layout_marginLeft="6.3dp"
              android:layout_marginRight="6.3dp"
              android:layout_height="1dp"
              android:background="@color/colorPrimary" /&gt;
  
          &lt;LinearLayout
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:orientation="horizontal"&gt;
  
              &lt;TextView
                  android:id="@+id/time_of_post"
                  android:text="about 5 min. ago"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:layout_margin="7dp"/&gt;
              &lt;RelativeLayout
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:layout_marginLeft="45dp"
                  android:layout_marginRight="10dp"
                  android:layout_marginTop="3dp"&gt;
  
                  &lt;ImageView
                      android:layout_width="20dp"
                      android:id="@+id/comment_count_img"
                      android:src="@drawable/comment_count"
                      android:layout_height="20dp"
                      android:layout_marginRight="3dp"
                      android:layout_toLeftOf="@+id/comment_count_no"
                      android:clickable="true" /&gt;
  
                  &lt;TextView
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:id="@+id/comment_count_no"
                      android:text="10"
                      android:layout_toLeftOf="@+id/comment_like_img"
                      android:layout_marginRight="5dp"/&gt;
  
                  &lt;ImageView
                      android:layout_width="20dp"
                      android:id="@+id/comment_like_img"
                      android:src="@drawable/like_count"
                      android:layout_marginLeft="6.7dp"
                      android:layout_height="20dp"
                      android:layout_toLeftOf="@+id/comment_like_no"
                      android:layout_marginRight="3dp"
                      android:clickable="true" /&gt;
  
                  &lt;TextView
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:id="@+id/comment_like_no"
                      android:text="10"
                      android:layout_toLeftOf="@+id/comment_dislike_img"
                      android:layout_marginRight="5dp"/&gt;
  
                  &lt;ImageView
                      android:layout_width="20dp"
                      android:id="@+id/comment_dislike_img"
                      android:src="@drawable/thumbs_down"
                      android:layout_height="20dp"
                      android:layout_marginLeft="6.7dp"
                      android:layout_toLeftOf="@+id/comment_dislike_no"
                      android:layout_marginRight="3dp"
                      android:clickable="true" /&gt;
  
                  &lt;TextView
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:id="@+id/comment_dislike_no"
                      android:text="10"
                      android:layout_alignParentRight="true"/&gt;
  
              &lt;/RelativeLayout&gt;
  
          &lt;/LinearLayout&gt;
  
      &lt;/LinearLayout&gt;
  &lt;/android.support.v7.widget.CardView&gt;
  </code></pre>
  
  <p>build.gradle</p>
  
  <pre><code>apply plugin: 'com.android.application'
  android {
      compileSdkVersion 24
      buildToolsVersion "24.0.2"
  
      defaultConfig {
          applicationId "com.shixxels.thankgodrichard.spotpopfinal"
          minSdkVersion 15
          targetSdkVersion 24
          versionCode 1
          versionName "1.0"
          multiDexEnabled true
      }
      buildTypes {
          release {
              minifyEnabled false
              proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
          }
      }
      dexOptions {
          javaMaxHeapSize "4g"
      }
  }
  </code></pre>