为 CursorAdapter 膨胀 LinearLayout

Inflating LinearLayout for CursorAdapter

我正在尝试从 CursorAdapter 创建视图。

但是,当我膨胀布局时,我想膨胀 LinearLayout 而不是整个 .xml 布局。例如,

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

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/account_balance"
        android:textColor="#FFFFFF"
        android:id="@+id/balance_text"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="40dp"
        android:textSize="30sp"/>

    <TextView
        android:id="@+id/balance_money"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/balance_text"
        android:textSize="25sp"
        android:text=""
        android:layout_centerHorizontal="true"
        android:layout_marginTop="10dp"/>


    <TextView
        android:id="@+id/transaction_text"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/balance_money"
        android:text="@string/transaction_detail_text"
        android:textColor="#000000"
        android:padding="5dp"
        android:textSize="15sp"
        android:layout_marginTop="30dp"
        android:background="@drawable/divider"/>


    <LinearLayout
        android:id="@+id/transaction_list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/transaction_text"
        android:padding="10dp"
        android:baselineAligned="false">

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="vertical"
            android:layout_weight="1">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/location"
                android:text="Location"
                android:textSize="18sp"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/date"
                android:text="Date"
                android:textSize="18sp"
                android:layout_marginTop="5dp"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/time"
                android:text="Time"
                android:textSize="18sp"
                android:layout_marginTop="5dp"/>
        </LinearLayout>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:gravity="center_horizontal|center_vertical"
            android:layout_weight="1">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="- 12"
                android:id="@+id/money"
                android:textSize="25sp"/>
        </LinearLayout>
    </LinearLayout>
</RelativeLayout>

这里使用 ID 为 "transaction_text" 的 LinearLayout,我只想将布局的那部分显示为适配器。请帮忙!

提前致谢!

第 1 步:将 LinearLayout 移动到单独的布局资源中。出于此答案的目的,我将其称为 foo.

第 2 步:将上面代码清单中的 LinearLayout 替换为 <include layout="@layout/foo"/>,使用 the <include> tag to pull in another layout resource.

第 3 步:在您的 CursorAdapter 中,使用 foo 作为布局。