什么是“android.R.layout.simple_list_item_1”?

时间:2010-09-08 00:31:57

标签: android layout android-arrayadapter

我开始学习Android开发,并且正在阅读一本书中的一个简单的例子:

// Create the array list of to do items
final ArrayList<String> todoItems = new ArrayList<String>();

// Create the array adapter to bind the array to the listView
final ArrayAdapter<String> aa;
aa = new ArrayAdapter<String>(  this, 
                                android.R.layout.simple_list_item_1,
                                todoItems
                            );
myListView.setAdapter(aa);

我无法理解这段代码,尤其是这一行:

android.R.layout.simple_list_item_1

7 个答案:

答案 0 :(得分:257)

Zakaria,它是对作为Android操作系统一部分的内置XML布局文档的引用,而不是您自己的XML布局之一。

以下是您可以使用的布局列表: http://developer.android.com/reference/android/R.layout.html
(更新链接感谢@Estel:https://github.com/android/platform_frameworks_base/tree/master/core/res/res/layout

您实际上可以查看布局的代码。

答案 1 :(得分:33)

这是Android操作系统的一部分。这是定义的XML文件的实际版本。

simple_list_item_1管理:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    style="?android:attr/listItemFirstLineStyle"
    android:paddingTop="2dip"
    android:paddingBottom="3dip"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />

simple_list_item_2:

<TwoLineListItem xmlns:android="http://schemas.android.com/apk/res/android"
    android:paddingTop="2dip"
    android:paddingBottom="2dip"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

    <TextView android:id="@android:id/text1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        style="?android:attr/listItemFirstLineStyle"/>

    <TextView android:id="@android:id/text2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@android:id/text1"
        style="?android:attr/listItemSecondLineStyle" />

</TwoLineListItem> 

答案 2 :(得分:11)

如上所述:kcoppock和Joril

转到此处:https://github.com/android/platform_frameworks_base/tree/master/core/res/res/layout

只需右键单击所需的布局文件,然后选择“另存为”,保存到某处,然后将其复制到“布局”中。你的android项目中的文件夹(eclipse)......

您可以看到布局如何:)

方式去...

答案 3 :(得分:9)

如Klap所述“android.R.layout.simple_list_item_1是对作为Android OS一部分的内置XML布局文档的引用”
所有布局都位于:sdk \ platforms \ android-xx \ data \ res \ layout
查看布局的XML:
Eclipse :只需在代码中的某处键入android.R.layout.simple_list_item_1,按住Ctrl键,将鼠标悬停在simple_list_item_1上,然后从显示的下拉列表中选择“在layout / simple_list_item_1.xml中打开声明”。它将引导您访问XML的内容 Android Studio :项目窗口 - &gt;外部图书馆 - &gt; Android X平台 - &gt; res - &gt;布局,在这里您将看到可用布局列表 enter image description here

答案 4 :(得分:7)

android.R.layout.simple_list_item_1,这是res / layout文件夹中的行布局文件,其中包含listview中行的相应设计。现在我们使用mylistview.setadapter(aa);

将数组列表项绑定到行布局

答案 5 :(得分:5)

无需转到外部链接,您需要的所有内容都已在您的计算机上:

的Android \ Android的SDK \平台\机器人-X \数据\水库\布局。

所有Android布局的源代码都位于此处。

答案 6 :(得分:4)

Per Arvand:
Eclipse:只需在代码中的某处键入 android.R.layout.simple_list_item_1 ,按住Ctrl键,将鼠标悬停在 simple_list_item_1 上,然后从显示的下拉列表中选择在布局中打开声明/simple_list_item_1.xml 即可。它将引导您访问XML的内容。

从那里,如果您将鼠标悬停在编辑器中生成的 simple_list_item_1.xml 选项卡上,您将看到该文件位于 C:\ Data \ applications \ Android \ android -sdk \ platforms \ android-19 \ data \ res \ layout \ simple_list_item_1.xml (或安装的等效位置)。