我正在帮朋友创建一个Android应用程序,该应用程序的屏幕上会显示类似于Feed的信息列表。我一直在学习Android中的xml布局并且有一些基础知识,但是对于java的东西并不是很熟悉。我已经成功创建了包含在屏幕中为组件分隔布局文件,但我想知道的是,这样的组件是否可以用作在后端以编程方式插入的订阅源/列表项的一种模板。 IE,有没有办法让Android创建一个列表,对于每个列表项,它使用外部xml作为模板?对不起,如果这有些模糊,我是新手,并试图了解我们的选择。 TIA!
答案 0 :(得分:0)
是的,每个列表项都可以是自定义布局。实际上,您总是有来定义列表条目的布局。您可以从android.R.layout
中选择预建的,也可以从R.layout
使用自己的。您可以在代码中创建列表适配器时指定它。
例如,请查看one of the ArrayAdapter
constructors:
public ArrayAdapter(Context context,int resource,int textViewResourceId)
从:API Level 1构造函数参数
上下文 - 当前背景。
resource - 包含a的布局文件的资源ID 实例化视图时使用的布局。
textViewResourceId - 要填充的布局资源中TextView的ID
构造函数采用将用于ListView
子项的布局。与其他适配器类似。
你通常做的是膨胀适配器的getView()
内的布局。执行此操作时,将所需的所有数据填充到布局视图中,然后返回视图。
请注意,您得到一个名为convertView
的参数。这是您之前已经充气的旧版面之一。在大多数情况下,用户只是向下滚动,该条目不再可见。如果此convertView不为null,则可以在其中填充数据,而不是再次膨胀整个布局(这很昂贵)。
你可以在中找到一个有用的例子
ANDROID_SDK\samples\android-10\ApiDemos\src\com\example\android\apis\view\List5.java
个文件。另请查看该文件夹中的其他列表示例。