2016-06-03 12 views
5

Wiem, że są inne pytania na temat SO zadające to samo. Już patrzę na większość z nich.InflateException: Binarna linia pliku XML nr 8: Błąd pompowania klasy ImageView

Większość odpowiedzi wywołuje błędy pamięci. Nie widzę, jak można uzyskać coś takiego, ponieważ ImageView, który ładuje tylko małą ikonę (24x24 piksele).

Ale chciałbym opublikować tutaj komunikat stacktrace, może ktoś inny może zidentyfikować coś, czego nie mogę i mi pomóc.

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) 

plik Układ

<?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: kod z mojej klasy adaptera.

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

} 
+2

Jest więcej do listy śledzenie stosu, w szczególności cootas 'Caused by'. Zmień swoje pytanie i opublikuj cały ślad stosu. – CommonsWare

+0

To wszystko. Może logcat nie wyświetla tego wszystkiego, ponieważ jest zbyt duży? – Mes

+0

pokaż swój plik XML również –

Odpowiedz

8

Ślad stosu nie pokazuje, ale błąd podczas inflacji może pochodzić z rozciągliwej stosowanego w ImageView, w tym przypadku:

android:src="@drawable/ic_dot" 

przetestowane przeczucie OP, próbując różne drawable, które "wydaje się teraz ok ...".

4

Jeśli używasz kanału alfa wektorowej, użyj

app:srcCompat="@drawable/ic_dot" 

zamiast

android:src="@drawable/ic_dot" 
+0

To działa idealnie dla mnie. Dzięki –

3

binarna linia pliku xml # 0: error klasa pompowania ImageView

trzeba zobacz, czy obraz stał się rysowalny - v23 lub v24, który może być wyższy niż Twój poziom mobilności, M ake pewnością uniknąć tworzenia rozciągliwej wersji obrazu w projekcie

przykład w rozciągliwej folderze ~> "ic_contact (V24)"

+0

Uratowałeś mi dzień, dziękuję !! –

0

użycie

app:srcCompat="@drawable/ic_dot" 

nie

android:src="@drawable/ic_dot" 
Powiązane problemy