使用android:id =“android:id / list”

时间:2015-07-29 13:14:12

标签: android android-layout

我在GitHub上使用这个AlhabetScroller https://github.com/brightec/AlphabetScroller/blob/master/src/uk/co/brightec/alphabetscroller/AlphabetListAdapter.java
有文件 list_alphabet.xml

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

    <ListView
        android:id="@android:id/list"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:fastScrollEnabled="true" />

    <LinearLayout
        android:id="@+id/sideIndex"
        android:layout_width="40dip"
        android:layout_height="fill_parent"
        android:background="#FFF"
        android:gravity="center_horizontal"
        android:orientation="vertical" >
    </LinearLayout>

</LinearLayout>

我的问题涉及这一行:
android:id="@android:id/list"

通常,我会这样做:
android:id="@+id/my_list"

与sideIndex一样。相反,他使用的东西似乎使用了Android代码中已有的东西 这样做的目的是什么?为什么这样做而不是我通常做的?

编辑:
感谢Lalit Poptani。这个问题确实是重复的。

1 个答案:

答案 0 :(得分:1)

如果您使用ListFragment或ListActivity,则不必提供视图,Android已经有一个预定义的视图和一个id来自动查找它。在这里,dev添加了一些东西,但仍然使用ListFragment或ListActivity功能,他使用相同的id。

More info in ListFragment