2017-01-13 9 views
2

Я пытаюсь загрузить список записей из базы данных на экран, но, похоже, проблема возникает, когда приложение получает данные и пытается отобразить их на экране , Я читал, что иногда этот тип ошибок генерируется при отображении больших изображений и таких, но у меня нет изображений и пробовал некоторые другие решения, о которых я читал. Любой вход оценивается!Anroid: двоичная строка XML-файла Ошибка раздувания класса

E/AndroidRuntime: FATAL EXCEPTION: main 
    Process: com.blackfrogweb.macrotracker, PID: 16129 
    android.view.InflateException: Binary XML file line 23: Binary XML file line 23: Error inflating class <unknown> 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:539) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
    at com.blackfrogweb.macrotracker.FavsCustomAdapter.getView(FavsCustomAdapter.java:38) 
    at android.widget.AbsListView.obtainView(AbsListView.java:2346) 
    at android.widget.ListView.makeAndAddView(ListView.java:1876) 
    at android.widget.ListView.fillDown(ListView.java:702) 
    at android.widget.ListView.fillFromTop(ListView.java:763) 
    at android.widget.ListView.layoutChildren(ListView.java:1671) 
    at android.widget.AbsListView.onLayout(AbsListView.java:2148) 
    at android.view.View.layout(View.java:16636) 
    at android.view.ViewGroup.layout(ViewGroup.java:5437) 
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336) 
    at android.widget.FrameLayout.onLayout(FrameLayout.java:273) 
    at android.view.View.layout(View.java:16636) 
    at android.view.ViewGroup.layout(ViewGroup.java:5437) 
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336) 
    at android.widget.FrameLayout.onLayout(FrameLayout.java:273) 
    at android.view.View.layout(View.java:16636) 
    at android.view.ViewGroup.layout(ViewGroup.java:5437) 
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336) 
    at android.widget.FrameLayout.onLayout(FrameLayout.java:273) 
    at android.view.View.layout(View.java:16636) 
    at android.view.ViewGroup.layout(ViewGroup.java:5437) 
    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743) 
    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586) 
    at android.widget.LinearLayout.onLayout(LinearLayout.java:1495) 
    at android.view.View.layout(View.java:16636) 
    at android.view.ViewGroup.layout(ViewGroup.java:5437) 
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336) 
    at android.widget.FrameLayout.onLayout(FrameLayout.java:273) 
    at com.android.internal.policy.PhoneWindow$DecorView.onLayout(PhoneWindow.java:2678) 
    at android.view.View.layout(View.java:16636) 
    at android.view.ViewGroup.layout(ViewGroup.java:5437) 
    at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2171) 
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1931) 
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107) 
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013) 
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858) 
    at android.view.Choreographer.doCallbacks(Choreographer.java:670) 
    at android.view.Choreographer.doFrame(Choreographer.java:606) 
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844) 
    at android.os.Handler.handleCallback(Handler.java:739) 
    at android.os.Handler.dispatchMessage(Handler.java:95) 
    at android.os.Looper.loop(Looper.java:148) 
    at android.app.ActivityThread.main(ActivityThread.java:5417) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

Вот xml макета Im, пытающегося «раздуть».

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="16dp" 
    android:paddingTop="16dp" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:gravity="left"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal"> 

     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:orientation="vertical"> 

      <TextView 
       android:id="@+id/favorite_name" 
       android:textColor="@color/colorText" 
       android:textSize="?android:attr/textAppearanceMedium" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginBottom="5dp"/> 

      <TextView 
       android:id="@+id/favorite_cal" 
       android:textSize="?android:attr/textAppearanceMedium" 
       android:textColor="@color/colorText" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginBottom="5dp"/> 

      <TextView 
       android:id="@+id/favorite_fat" 
       android:textSize="?android:attr/textAppearanceMedium" 
       android:textColor="@color/colorText" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="left" 
       android:layout_marginBottom="5dp"/> 

      <TextView 
       android:id="@+id/favorite_carb" 
       android:textSize="?android:attr/textAppearanceMedium" 
       android:textColor="@color/colorText" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="left" 
       android:layout_marginBottom="5dp"/> 

      <TextView 
       android:id="@+id/favorite_prot" 
       android:textSize="?android:attr/textAppearanceMedium" 
       android:textColor="@color/colorText" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="left" 
       android:layout_marginBottom="5dp"/> 

     </LinearLayout> 

      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:orientation="horizontal" 
       android:gravity="right"> 

       <Button 
        android:id="@+id/add" 
        android:layout_width="40dp" 
        android:layout_height="40dp" 
        android:layout_marginRight="5dp" 
        android:background="@android:drawable/ic_menu_add"/> 

       <Button 
        android:id="@+id/edit" 
        android:layout_width="40dp" 
        android:layout_height="40dp" 
        android:layout_marginRight="5dp" 
        android:background="@android:drawable/ic_menu_edit"/> 

       <Button 
        android:id="@+id/delete" 
        android:layout_width="40dp" 
        android:layout_height="40dp" 
        android:background="@android:drawable/ic_menu_delete"/> 
      </LinearLayout> 
    </LinearLayout> 

Поскольку я не совсем уверен, где происходит ошибка, я не уверен, что часть кода, чтобы получить возможность отправлять -И я не хочу, чтобы сделать это непроницаемым.

+0

Для других дэвов это также может вызвать с помощью XML шрифтов https://stackoverflow.com/a/47987602/5710872 – Qamar

ответ

3

CurrentY вы устанавливаете ?android:attr/textAppearanceMedium в android:textSize.
Вы должны заменить атрибут android:textAppearance.

Изменить

android:textSize="?android:attr/textAppearanceMedium" 

К

android:textAppearance="?android:attr/textAppearanceMedium" 

ИЛИ

Установить прямое значение android:textSize как

android:textSize="10sp" 
+0

Это было именно это. – Koopa

+0

Это хорошо работает, но я не знаю, почему «android: textSize =»? Android: attr/textAppearanceMedium «неверно ...? – TeachMeJava

+0

@TeachMeJava textSize ожидает значение размера (px, dp, sp, in и mm) . "? android: attr/textAppearanceMedium" - это комбинация цвета базового текста, шрифта, размера и стиля. Поэтому мы не можем использовать его для текстового оформления. – sJy

0

проверить двоичную строку XML-файла 23.

0

Вы не закрыли тег должным образом.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="16dp" 
    android:paddingTop="16dp" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:gravity="left"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal"> 

     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:orientation="vertical"> 

      <TextView 
       android:id="@+id/favorite_name" 
       android:textColor="@color/colorText" 
       android:textSize="?android:attr/textAppearanceMedium" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginBottom="5dp"/> 

      <TextView 
       android:id="@+id/favorite_cal" 
       android:textSize="?android:attr/textAppearanceMedium" 
       android:textColor="@color/colorText" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginBottom="5dp"/> 

      <TextView 
       android:id="@+id/favorite_fat" 
       android:textSize="?android:attr/textAppearanceMedium" 
       android:textColor="@color/colorText" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="left" 
       android:layout_marginBottom="5dp"/> 

      <TextView 
       android:id="@+id/favorite_carb" 
       android:textSize="?android:attr/textAppearanceMedium" 
       android:textColor="@color/colorText" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="left" 
       android:layout_marginBottom="5dp"/> 

      <TextView 
       android:id="@+id/favorite_prot" 
       android:textSize="?android:attr/textAppearanceMedium" 
       android:textColor="@color/colorText" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="left" 
       android:layout_marginBottom="5dp"/> 

     </LinearLayout> 

     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:orientation="horizontal" 
      android:gravity="right"> 

      <Button 
       android:id="@+id/add" 
       android:layout_width="40dp" 
       android:layout_height="40dp" 
       android:layout_marginRight="5dp" 
       android:background="@android:drawable/ic_menu_add"/> 

      <Button 
       android:id="@+id/edit" 
       android:layout_width="40dp" 
       android:layout_height="40dp" 
       android:layout_marginRight="5dp" 
       android:background="@android:drawable/ic_menu_edit"/> 

      <Button 
       android:id="@+id/delete" 
       android:layout_width="40dp" 
       android:layout_height="40dp" 
       android:background="@android:drawable/ic_menu_delete"/> 
     </LinearLayout> 
    </LinearLayout> 

</LinearLayout> 
0

Кажется, что вы получаете Exception для строки ниже <TextView/>.

android:textSize="?android:attr/textAppearanceMedium" 

Попробуйте с

android:textAppearance="?android:attr/textAppearanceMedium"