我有一个产生此错误的AppWidget:
W / AppWidgetHostView:updateAppWidget找不到任何视图,使用 错误视图 android.view.InflateException:二进制XML文件行#2:失败 解析索引1处的属性:TypedValue {t = 0x2 / d = 0x7f01009a a = -1} 引起:java.lang.UnsupportedOperationException:无法解析属性 在索引1处:TypedValue {t = 0x2 / d = 0x7f01009a a = -1}
我可以判断错误是由布局的膨胀引起的,我可以将其固定在我的RemoteViews
子类'RemoteViewsService.RemoteViewsFactory
方法中创建新的getViewAt()
:< / p>
@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>
答案 0 :(得分:2)
错误是因为在AppWidget布局中使用isn't possible使用主题属性(例如?listPreferredItemHeight
)。这些是错误所指的“未解决的属性”。