在单个活动中重复查看

时间:2011-09-12 16:04:29

标签: android

我有一个显示按钮,文本和列表的活动。我想根据数据(SQLite)重复该模式。如果我有5个独特的类别,则显示5个按钮,5个文本和5个列表。我怎么做 ?我该如何重复这种模式?

3 个答案:

答案 0 :(得分:-1)

在Android中你不能在同一个活动中“重复一个视图”(一个孩子不能超过1个父母),但是你总是可以做一个解决方法。你可以写一个mehod作为getview(),它返回你的父视图,包含你的按钮,文本等,你把它添加到顶层视图组;

while(somelogic)

urparentview.addview(getview());

setcontentview(urparentview)

你的getviewmethod可能是这样的

  view getview()
    {
    button b = new button(this);
    edittext ed = new edittext(this);
    //set orientations etc...
    LinearLayout ll = new LineaLayout(this);
    ll.addview(b);
    ll.addView(ed);
    return ll;

    }

答案 1 :(得分:-1)

您只需将新按钮文本和列表添加到同一LinearLayout即可。所以..

addStuffz(){
    LinearLayout main = (LinearLayout)findViewById(R.id.main_linearLayout);
    LinearLayout newLayout = new LinearLayout(context);
    /**
     * Do Init here
     */
    Button anotherButton = new Button(context);
    /**
     * Do Init here
     */
    TextView anotherText = new TextView(context);
    /**
     * Do Init here
     */
    ListView anotherList = new ListView(context);
    /**
     * Do Init here
     */
    newLayout.addView(anotherButton);
    newLayout.addView(anotherText);
    newLayout.addView(anotherList);
    mainLayout.addView(newLayout);
}

答案 2 :(得分:-1)

标准设计模式是使用ListActivity(或带有listView的标准活动) 并创建一个CursorAdapter来创建从记录集光标到视图的视图和数据绑定值。

然后在ListActvity上调用setAdapter()。

视频

Google IO 2009 video on UI improvements

中讨论了列表适配器的使用