上个帖子讲了2个listview,左边的listview可固定,右边的listview内容比较多,可以左右滑动,但是有个问题就是,2个listview的上下滑动不一致。
代码
listview2.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView arg0, int arg1) {
}
@Override
public void onScroll(AbsListView arg0, int arg1, int arg2, int arg3) {
int p=listview2.getFirstVisiblePosition();
View v=listview2.getChildAt(0);
int s=(v==null?0:v.getTop());
listview1.setSelectionFromTop(p, s);
}
});
其他内容不变,这边举个例子就是右边listview上下滑动的时候左边也跟着一起。
你想左边的listview滑动的时候,右边的listview一起,那你就给listview1绑定个监听,
道理是一样的,这里就不过多介绍了。
代码很少,很好理解,意思就是,先得到第一条可见的Item的position,就是所在整个的listview的序号,然后再得到第一条item距离屏幕顶部的距离,再利用这2个参数来设置listview1所在的位置。
效果图: