最近不知不觉养成了写博客的习惯,有一些好的东西就要跟大家分享,如果碰到了相同的需求,可以节省开发的时间,不过我还是建议别人的东西只是参考的价值,只有自己去理解,如何变成自己的东西才算是进步。
好了废话不多说,我们项目这次实现的东西是两个完全不同的列表(两个列表的数据对象不一样,样式排版不一样)放在一个界面,分为上下的排列方式。遇到这样的情况首先会想到用两个listview上线排列显示。但是你会发现当第一个listview超过一屏幕的话,下面那个将无法显示。网上有一些解决的办法就是把两个listview放入ScrollView中。然后去动态计算listview的高度,或者自定义一个可以自己计算高度的listview。禁止listview的上下滑动,把它的滑动事件交给ScrollView去执行。这也是一个很好的办法。不过我想既然两个有上下之分,也就是有规律可循,所以通过修改Adpter来实现这样的效果。我的demo样式如下图
按照我的思路只是放入一个lsitview。在自定义adpter的时候出入两个list集合。分为上下两个list.关键是在如何去显示问题。直接上代码:
/**
* @author frankLi
*
*/
public class MyAdapter extends BaseAdapter {
private List<DateBen1> listTop = null;
private List<DateOther> listBottom = null;
private Context mContext;
private final int TOP_ITEM