0

我已经为列表片段创建了一个程序,其中我的布局包含一个片段,并且该片段包含一个膨胀的列表视图,问题是如果给列表视图提供除 android:list 之外的任何其他 id 它不起作用。为什么它是 android:list 所指的。代码是主要布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <fragment
        android:id="@+id/lfrag1"
        android:name="com.example.chap5.lfrag"
        android:layout_width="0dp"
        android:layout_height="200dp"
        android:layout_weight="1" />


</LinearLayout>

为每个片段膨胀的布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

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

</LinearLayout>

此处作为 android:list 给出的列表视图的 id,它正在为它工作。但是对于任何其他 id,它都不起作用,请更新感谢 tejinder

4

1 回答 1

1

这是使用要求ListFragment

http://developer.android.com/reference/android/app/ListFragment.html

ListFragment 具有由单个列表视图组成的默认布局。但是,如果您愿意,您可以通过从onCreateView(LayoutInflater, ViewGroup, Bundle). 为此,您的视图层次结构必须包含一个 ID 为“@android:id/list”的 ListView 对象(或者list如果它在代码中)

如果您想使用另一个 id,请不要扩展ListFragment,只需扩展Fragment并自己做。

于 2013-07-03T12:40:59.950 回答