将Adapter设置为linearLayout而不是listView

时间:2015-02-20 16:57:16

标签: android android-layout listview android-listview baseadapter

我正在制作一个需要适应我收到的数据类型的布局。我需要尽可能地使它成为通用的。因此,我的适配器类中的布局需要根据数据动态修改。 这就是我打算这样做的方式。

我的活动xml布局:

<LinearLayout>
  <LinearLayout id="1" ></LinearLayout>
  <LinearLayout id="2" ></LinearLayout>
  <LinearLayout id="3" ></LinearLayout>
  <LinearLayout id="4" ></LinearLayout>
  <LinearLayout id="5" ></LinearLayout>
</LinearLayout>

我有适配器填充数据。适配器代码   1.给新布局N1充气   2.根据适配器项位置获取活动LinearLayout的ID   3.将N1放在父LinearLayout插槽

问题。如何使用静态LinearLayout而不是ListView

3 个答案:

答案 0 :(得分:1)

你可以这样做:

LinearLayout holder = new LinearLayout(context);
...
holder.removeAllViews();
for(int i = 0 ; i < adapter.getCount(); i++) 
    holder.addView(adapter.getView(i, null, holder));
...

答案 1 :(得分:0)

您可以使用ListView,只为行提供自定义布局

答案 2 :(得分:0)

如果我的理解是正确的,您应该能够使用SimpleAdapter和列表视图来处理您需要的内容。您是否需要使用线性布局作为父视图?

“适配器管理数据模型并使其适应窗口小部件中的各个条目。适配器扩展BaseAdapter类。

显示数据的窗口小部件中的每一行都包含一个可以根据需要复杂的布局。列表中的典型行在左侧有一个图像,在中间有两个文本行,如下图所示。“

example

可以找到此信息及更多信息here