【发布时间】:2017-02-02 07:57:13
【问题描述】:
我有一个产生此错误的 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}
我可以判断错误是由布局膨胀引起的,我可以将其固定到在我的RemoteViewsService.RemoteViewsFactory 子类'getViewAt() 方法中创建新的RemoteViews:
@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>
【问题讨论】:
标签: android android-layout layout-inflater remoteview