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本身。