0

我想创建一个包含 2 个列表的活动。暂时我已经创建了 2 个列表视图,它们在适当的 *.xml 文件中声明了不同的行,并将屏幕划分为 50/50,但它看起来不太好。这就是为什么我想制作一个滚动视图,其中包含第一个 listView 中的行、分隔符,然后是第二个 listView 中的行。

我可以使用已有的(定义行布局的 xml 文件)吗?

我是否需要创建扩展 View 的新类或有其他方法?

我必须补充一点,每一行大约有5个控件需要设置,所以它不是很简单的行。

4

2 回答 2

1

您可能需要学习自定义 adepter

您可以自定义列表项的顺序。假设您总共有 10 个项目要显示在屏幕上,并且您想将其分隔为 5/5 。

这是根据上述情况的基本逻辑

@Override
public View getView(int position, View convertView, ViewGroup parent) 
    {

     if (postion<5)
    {
    //Write your code here for first five items 
    }
    else{
    //Write your code here for rest five items 
    }

}
于 2013-06-17T17:32:35.167 回答
1

你可以照你说的做,它仍然会使用 listView。ListViews 可能很棘手,因为您必须将行数与适配器中的项目数相匹配。我的意思是你可以使用 scrollView 来启动。除非您谈论数百行,否则您不会看到性能提升。

这是如何膨胀一行,并以编程方式将其添加到滚动视图

ScrollView scrollView = (ScrollView)findViewById(R.id.scrollView);
...
for(int i = 0; i < firstList.size(); i++){
   //here my row was a relative layout.  Could be LinearLayout, or anything 
   RelativeLayout row = (RelativeLayout)View.inflate(this, R.layout.list_row, null);
   tv = (TextView)row.findViewById(R.id.tv);
   tv.setText("Some text");
   ...initialize other views in row
   scrollView.addView(row);
}

然后重复你的第二个列表,不要忘记插入你的分隔符

于 2013-06-17T16:49:38.957 回答