2012-05-20 24 views
0

我的目标是在列表中显示人/地址 - 而不仅仅是一个简单的列表,而是一个的包含多种信息,在我的情况下,号码,地址和类型框列表:Android:如何创建这种动态布局?

enter image description here

此数据结构是POJO:

  • MyPojo.java(类)
  • + getNumer()
  • + getTyp E()
  • +的getName()
  • + getStreet()
  • + getCity()

当然,有4个以上的条目,这意味着应该有一个滚动条。我的第一个想法:一个Scrollview,其中包含一个Linear Layout。但我不确定内容,意味着您可以在上面看到的框。

  1. 如何定义表示列表项的框?正如你在上面看到的,一个盒子由三个部分组成,这三个部分是相互分开的(数字,类型,地址)。
  2. 当然,必须可以在运行时动态添加和删除框(表示:条目)到线性布局。

谢谢

回答

0

My first idea: a Scrollview that contains a Linear Layout.

你熟悉listView?这已经存在,以做到这一点。我相信你可以找到几十个关于如何通过搜索使用它们的教程。

+0

谢谢,这是真的。但我不确定是否只能将文本作为列表项添加到列表视图或更复杂的UI元素(正如所提到的,我的“列表元素”是那些框而不是纯文本)。 – alapeno

+0

你可以在listview中添加几乎所有的'list-objects'。自定义视图,多个视图的层次结构等。我不会在这里写一个教程,但我相信你可以找到一个。 – Tim

0
  • 创建ListActivity
  • 创建一个单独的布局文件为您的项目

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" > <LinearLayout android:orientation="vertical" > <TextView /> <TextView /> </LinearLayout> </TextView> </LinearLayout>

  • 然后在ListActivityArrayAdapter延伸创建内部类。在getView()方法中,使用LayoutInflater来扩充yourItemLayout并基于position值更新TextView。
  • onCreate在主类,叫setListAdapter(new InnerClass(this,R.layout.yourItemLayout,list)

你可以参考customArrayAdapter知道如何定制ArrayAdapter工作。

完成和撒灰。