为CursorAdapter充气LinearLayout

时间:2015-05-15 17:55:50

标签: android android-cursoradapter android-inflate

我试图从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&#34; transaction_text&#34;的LinearLayout,我希望将布局的那一部分显示为适配器。请帮忙!

提前致谢!

1 个答案:

答案 0 :(得分:0)

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

步骤2:LinearLayout位于上述代码清单中的位置,使用the <include> tag to pull in another layout resource将其替换为<include layout="@layout/foo"/>

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