我需要一个有两列和动态no的表。行的长度(根据我接收的数据的长度增加和减少)。目前我所做的是,我将列表视图添加到水平线性布局中,这样它看起来就像一个表格。但问题是列表视图的滚动是独立于其他视图的。我需要锁定滚动,所以如果我滚动,两者都不会独立移动。
列表视图中的所有数据都是只读的(仅用于显示目的)。
是否可以同步滚动,或者有没有更好的方法来满足我的要求?
发布于 2017-07-21 19:06:56
如果你想在滚动第二个列表时停止第一个列表视图滚动,反之亦然,将lsitviews的滚动列表放在other.Then中,并阻止另一个列表视图滚动。下面是一个例子
listview1.setOnScrollListener(new OnScrollListener() {
private int mLastFirstVisibleItem;
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {
listview1.setEnabled(true);
listview2.setEnabled(true);
Log.i("a", "scrolling stopped...");
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
listview2.setEnabled(false);
}
});
与第二个列表视图的方式相同
listview2.setOnScrollListener(new OnScrollListener() {
private int mLastFirstVisibleItem;
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {
listview1.setEnabled(true);
listview2.setEnabled(true);
Log.i("a", "scrolling stopped...");
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
listview1.setEnabled(false);
}
});
https://stackoverflow.com/questions/45235719
复制相似问题