Android ListFragment @id属性

时间:2013-09-17 02:50:32

标签: android android-listfragment

我在我的MainActivity中放置了两个ListFragment。

这是ListFragment xml文件:fragment1.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" >

    <ListView
        android:id="@id/android:list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:drawSelectorOnTop="false" />

</LinearLayout>

我的问题是,为什么我必须在这里使用android:id =“@ id / android:list”?当我使用例如@ + id / frag_list时,程序崩溃并出现错误“膨胀类片段”。

1 个答案:

答案 0 :(得分:2)

ListActivity具有默认布局,该布局由屏幕中央的单个全屏列表组成。但是,如果您愿意,可以通过在setContentView()中使用onCreate()设置自己的视图布局来自定义屏幕布局。为此,您自己的视图必须包含一个ID为"@android:id/list"的ListView对象(如果它在代码中则列出)。当你的班级延伸ListFragment时也一样。

有关详情,请查看文档

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

您可以扩展Fragment而不是ListFragment。使用ListView进行自定义布局。然后,您可以为列表视图提供任何ID。