0

次のように、カスタム行を持つ ListFragment があります。

Fragment.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="top|center"
android:orientation="vertical"
android:background="@color/colorAppBackground">

<ListView
    android:id="@android:id/list"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>
</LinearLayout>

Custom_row.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="Small Text"
    android:id="@+id/rootCategory_TextView"
    android:textStyle="bold"
    android:padding="10dp"
    android:textColor="@color/rootCategoryText"/>

<android.support.v7.widget.RecyclerView
    android:id="@+id/subCategory_RecyclerView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:scrollbars="horizontal" />
</LinearLayout>

次のエラーが表示されます:

ArrayAdapter requires the resource ID to be a TextView
.....
android.widget.LinearLayout cannot be cast to android.widget.TextView

Custom_row.xml から LinearLayout ViewGroup を削除して textView を直接追加すると問題なく動作しますが、カスタム行には複数のビューが必要で、すべてのタイプの ViewGroups を使用するのに疲れましたが、すべて上記のキャスト エラーが発生します。

4

0 に答える 0