Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

InflateException: Binary XML file line #8: Error inflating class ImageView

I know there are other questions on SO asking the same thing. I have already looked at most of them.

Most answers call about memory errors. I can't see how an ImageView which loads just a small icon (24x24 pixels) can make something like this.

But I'd like to post the stacktrace here maybe someone else can identify something I can't and help me.

06-03 22:14:17.367 28590-28590/css.mvp.example.debug W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x41e4ad40) 06-03 22:14:17.409 28590-28590/css.mvp.example.debug E/AndroidRuntime: FATAL EXCEPTION: main Process: css.mvp.example.debug, PID: 28590  android.view.InflateException: Binary XML file line #8: Error inflating class ImageView     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)     at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)     at android.view.LayoutInflater.inflate(LayoutInflater.java:492)     at android.view.LayoutInflater.inflate(LayoutInflater.java:397)     at css.mvp.example.main.projects.fragments.adapters.PollAnswersAdapter.getView(PollAnswersAdapter.java:38)     at android.widget.AbsListView.obtainView(AbsListView.java:2255)     at android.widget.ListView.measureHeightOfChildren(ListView.java:1263)     at android.widget.ListView.onMeasure(ListView.java:1175)     at android.view.View.measure(View.java:16540)     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5137)     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404)     at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)     at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)     at android.view.View.measure(View.java:16540)     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5137)     at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)     at android.view.View.measure(View.java:16540)     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5137)     at android.support.design.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:668)     at android.support.design.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:735)     at android.view.View.measure(View.java:16540)     at android.support.v4.widget.DrawerLayout.onMeasure(DrawerLayout.java:1075)     at android.view.View.measure(View.java:16540)     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5137)     at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)     at android.view.View.measure(View.java:16540)     at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:719)     at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:455)     at android.view.View.measure(View.java:16540)     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5137)     at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)     at android.view.View.measure(View.java:16540)     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5137)     at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)     at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:135)     at android.view.View.measure(View.java:16540)     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5137)     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404)     at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)     at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)     at android.view.View.measure(View.java:16540)     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5137)     at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)     at android.view.View.measure(View.java:16540)     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5137)     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404)     at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)     at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)     at android.view.View.measure(View.java:16540)     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5137)     at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)     at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2291)     at android.view.View.measure(View.java:16540)     at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1942)     at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1132)     at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1321)     at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1019)     at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5725) 

Layout file

<?xml version="1.0" encoding="utf-8"?> <LinearLayout   xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:weightSum="11" android:paddingTop="16dp" android:paddingBottom="16dp" android:gravity="center_horizontal" android:layout_width="match_parent" android:layout_height="wrap_content">  <ImageView     android:id="@+id/iv_answer_circle"     android:src="@drawable/ic_dot"     android:layout_gravity="center" android:layout_weight="2"     android:layout_marginLeft="16dp" android:layout_marginRight="16dp"     android:layout_width="0dp" android:layout_height="wrap_content" />  <TextView android:id="@+id/tv_poll_answer"     android:layout_weight="6"     android:layout_width="0dp" android:layout_height="wrap_content" />  <TextView android:id="@+id/tv_poll_answer_num"     android:layout_weight="1"     android:layout_marginLeft="16dp" android:layout_marginRight="8dp"     android:layout_width="0dp" android:layout_height="wrap_content" />  <TextView android:id="@+id/tv_poll_answer_percent"     android:layout_weight="2"     android:layout_marginRight="16dp"     android:layout_width="0dp" android:layout_height="wrap_content" />  </LinearLayout> 

EDIT 2 : the code of my Adapter class.

public class PollAnswersAdapter extends ArrayAdapter<PollAnswerItem> {      private Context context;     private ArrayList<PollAnswerItem> data;       public PollAnswersAdapter(Context context, ArrayList<PollAnswerItem> data) {         super(context, -1, data);         this.context = context;         this.data = data;     }      @Override     public View getView(int position, View convertView, ViewGroup parent) {         LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);          View rowView = inflater.inflate(R.layout.row_answer, parent, false);          ImageView ivCircle = (ImageView) rowView.findViewById(R.id.iv_answer_circle);         TextView tvAnswer = (TextView) rowView.findViewById(R.id.tv_poll_answer);         TextView tvNums = (TextView) rowView.findViewById(R.id.tv_poll_answer_num);         TextView tvPercent = (TextView) rowView.findViewById(R.id.tv_poll_answer_percent);          tvAnswer.setText(data.get(position).getAnswer());         tvNums.setText(data.get(position).getNum());         tvPercent.setText(data.get(position).getPercent() + "%");         tvPercent.setTextColor(ColorTemplate.PREDEFINED_COLORS[position]);          return rowView;     }  } 
like image 805
Mes Avatar asked Jun 03 '16 19:06

Mes


2 Answers

The stack trace doesn't show it, but the error during inflation might come from drawable used in the ImageView, in this case:

android:src="@drawable/ic_dot" 

OP tested this hunch, by trying a different drawable which "seems ok right now...".

like image 20
Marcin Koziński Avatar answered Sep 18 '22 13:09

Marcin Koziński


binary xml file line #0: error inflating class imageview

you have to see if your image has become drawable-v23 or v24 which might be higher than your mobile os level, Make sure to avoid creating drawable version image in project

example In drawable folder ~> "ic_contact(v24)"

like image 154
Aashay karekar Avatar answered Sep 20 '22 13:09

Aashay karekar