2017-02-02 5 views
0

У меня есть AppWidget, который производит эту ошибку:Android AppWidget - Ошибка при наполнении вид: Не удалось разрешить атрибут по индексу

W/AppWidgetHostView: updateAppWidget couldn't find any view, using error view android.view.InflateException: Binary XML file line #2: Failed to resolve attribute at index 1: TypedValue{t=0x2/d=0x7f01009a a=-1} Caused by: java.lang.UnsupportedOperationException: Failed to resolve attribute at index 1: TypedValue{t=0x2/d=0x7f01009a a=-1}

Я могу сказать ошибку, вызвана инфляцией макете, и я могу придавить его к созданию нового RemoteViews в моем RemoteViewsService.RemoteViewsFactory подкласса getViewAt() метода:

@Override 
public RemoteViews getViewAt(int position) { 
    […] 
    final RemoteViews views = new RemoteViews(getPackageName(), 
      R.layout.appwidget_list_item); 
    […] 

    return views; 
} 

Комментируя эту строку устраняет эту конкретную ошибку, и все же я не могу понять, что случилось с макетом файлом он ссылается.

Макет файла:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:id="@+id/layout_view" 
       android:orientation="horizontal" 
       android:layout_width="match_parent" 
       android:layout_height="?listPreferredItemHeight"> 

    <TextView 
     android:id="@+id/item_name" 
     android:layout_width="0px" 
     android:layout_height="match_parent" 
     android:layout_weight="2" 
     android:gravity="center_vertical" 
     android:paddingEnd="?listPreferredItemPaddingRight" 
     android:paddingStart="?listPreferredItemPaddingLeft"/> 

</LinearLayout> 

ответ

2

Ошибка вызывает с помощью использования темы атрибутов (например, ?listPreferredItemHeight) в макете AppWidget, который isn't possible. Это «неразрешенные атрибуты», на которые ссылается ошибка.