在布局中使用自定义 Class 时获取 Class 不是视图错误 - Android 电视
Getting Class is not a View Error When Using a Custom Class in Layout - Android TV
我收到以下错误:
android.view.InflateException: Binary XML file line #8: Class is not a View com.abcxyzradio.ActionsRow
布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/wholeView"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.abcxyzradio.ActionsRow
android:id="@+id/actions_row_actions"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
代码:
@Override
protected RowPresenter.ViewHolder createRowViewHolder(ViewGroup parent) {
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.now_playing_channel_row, parent, false);
ViewHolder vh = new ViewHolder(v);
return vh;
}
ActionsRow 是从行 class 扩展而来的。可能缺少什么,有什么想法吗?
如果 "the Row class" 你的意思是 this Row
class,那不是小部件,尽管它位于名称为 widget
的 Java 包中。 Row
继承自 Object
,而非 View
,因此您不能在布局中使用它。
我收到以下错误:
android.view.InflateException: Binary XML file line #8: Class is not a View com.abcxyzradio.ActionsRow
布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/wholeView"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.abcxyzradio.ActionsRow
android:id="@+id/actions_row_actions"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
代码:
@Override
protected RowPresenter.ViewHolder createRowViewHolder(ViewGroup parent) {
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.now_playing_channel_row, parent, false);
ViewHolder vh = new ViewHolder(v);
return vh;
}
ActionsRow 是从行 class 扩展而来的。可能缺少什么,有什么想法吗?
如果 "the Row class" 你的意思是 this Row
class,那不是小部件,尽管它位于名称为 widget
的 Java 包中。 Row
继承自 Object
,而非 View
,因此您不能在布局中使用它。