Android文档列表视图XML示例源代码
如果您查看有关如何实现列表视图并填充它的Android文档,您会发现它们只会教你如何在Java中扩展ListActivity
而不是普通的Activity
,但是如何使用相同的代码(布局和填充list)使用XML布局文件并扩展Activity
?
我问这个是因为我想实现一个RelativeLayout
并在屏幕上添加更多元素,其中ListView
比使用.inflate()
和addHeaderView()
/ addFooterView()
更灵活。
我认为您正在寻找的方式是创建和填充您自己的列表。
- 创建一个主布局(mainLayout.xml)//它应该至少有一个线性布局。
- 为列表行创建模板布局。
- 在您的活动中,为for循环填充模板,填充它并将其附加到主布局。
这是一个例子,
listtemplate.xml
在你的活动中,
public void CreateAndAppendListLayout() { List mainList; //populate it... LinearLayout mainLayout = (LinearLayout) findViewById(R.id.mainLayout); LayoutInflater li = (LayoutInflater)getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); for (int i = 0; i < mainList.size(); i++){ View tempView = li.inflate(R.layout.listtemplate, null); TextView textMain = (TextView) tempView.findViewById(R.id.mainText); textMain.setText(mainList.get(i)); mainLayout.addView(tempView); } }
您可以从Activity扩展而没有任何问题。 从ListActivity扩展只是帮助您完成大部分(非常简单)的工作。 您可以看到源代码以了解它的作用。 它归结为调用findViewById()并设置适配器。 处理ListViews最困难的部分是Adapters,而不是ListViews本身。