android android-layout inflate-exception

android - InflateException: línea de archivo XML binario#8: Error al inflar la clase ImageView



android-layout inflate-exception (10)

El seguimiento de la pila no lo muestra, pero el error durante el inflado podría provenir del sorteo utilizado en ImageView , en este caso:

android:src="@drawable/ic_dot"

OP probó esta corazonada, probando un dibujo diferente que " parece estar bien ahora ... ".

Sé que hay otras preguntas sobre SO que preguntan lo mismo. Ya he mirado la mayoría de ellos.

La mayoría de las respuestas llaman sobre errores de memoria. No puedo ver cómo un ImageView que carga solo un pequeño icono (24x24 píxeles) puede hacer algo como esto.

Pero me gustaría publicar el stacktrace aquí, tal vez alguien más pueda identificar algo que yo no pueda y ayudarme.

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)

Archivo de diseño

<?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: el código de mi clase de adaptador.

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; } }


El siguiente código podría agregarse en Manifiestos-Actividad de Android

<activity android:name="" -------------- android:theme="@android:style/Theme.Black.NoTitleBar"> </activity>

elimine este tema si lo ha agregado.

Mi problema se ha resuelto después de eliminar este tema. Obtuve estas soluciones después de mucho tiempo.


En mi caso, tenía la app:srcCompat="@drawable/ic_svg_image" dentro de ImageView , pero era un SVG muy complejo. Aunque se mostró en la pestaña Design , una aplicación se bloqueó.

Lo cambié a PNG.


No pegue su imagen en dibujable en Android Studio, péguela en la carpeta dibujable y limpie el proyecto y luego ejecútelo.


Si está utilizando dibujos vectoriales, use

app:srcCompat="@drawable/ic_dot"

en vez de

android:src="@drawable/ic_dot"


También me enfrento a este tipo de problema. la forma más sencilla de resolver

Simplemente ponga sus archivos dibujables en el directorio dibujable, no dibujable 24.


Yo tuve el mismo problema. La imagen png para mi imageView estaba causando una clase inflateException. Esto solo sucedía con mi teléfono con Android 6.0.1, pero no con mi teléfono con Android 7.0. Para resolver esto:

--- En Android Studio ---

  • Eliminé la imagen png de la carpeta dibujable (solo tengo la carpeta dibujable visible, no el drawable-v24).
  • Copie el png nuevamente a la carpeta dibujable. Al hacer esto, podrá elegir copiarlo en la carpeta dibujable o dibujable-v24. Copie el png en ambas carpetas
  • Copie el png en ambas carpetas (los png deben tener el mismo nombre).
  • Una vez que copie el png en ambas carpetas, aparecerá una nueva carpeta con el nombre del png. En su interior verás los 2 png. Uno con "(v24)" al lado. Aparecerá una nueva carpeta con el nombre de png, que contiene png

usando android.support.v7.widget.AppCompatImageView sin android:background resolvió el problema.


línea binaria del archivo xml # 0: error al inflar la vista de imagen de clase

debe ver si su imagen se ha convertido en drawable-v23 o v24, que podría ser superior a su nivel de sistema operativo móvil, asegúrese de evitar crear una imagen de versión dibujable en el proyecto

ejemplo en la carpeta dibujable ~> "ic_contact (v24)"


android:src="@raw/ic_image"

Agregué el archivo de imagen al nuevo directorio llamado raw y resolvió mi problema.