我想创建一个包含 2 个列表的活动。暂时我已经创建了 2 个列表视图,它们在适当的 *.xml 文件中声明了不同的行,并将屏幕划分为 50/50,但它看起来不太好。这就是为什么我想制作一个滚动视图,其中包含第一个 listView 中的行、分隔符,然后是第二个 listView 中的行。
我可以使用已有的(定义行布局的 xml 文件)吗?
我是否需要创建扩展 View 的新类或有其他方法?
我必须补充一点,每一行大约有5个控件需要设置,所以它不是很简单的行。
您可能需要学习自定义 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
}
}
你可以照你说的做,它仍然会使用 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);
}
然后重复你的第二个列表,不要忘记插入你的分隔符