Android 在ListView滚动的同时滚动视图
我有一个带有列表视图和自定义视图的RelativeLayout。我通过编程将自定义视图的大小设置为ListView的大小。因此,我在ListView的顶部有一个自定义视图,两个视图的大小相同。显然,ListView没有滚动,因为onTouchListener位于customView上。如何使这两个视图同时滚动?最后,我在自定义视图类中创建了一个函数,将ListView和行数作为参数。在视图中,我将ListView设置为ScrollListener,并在滚动到自定义视图的全局滚动变量时指定ListView的位置。像这样Android 在ListView滚动的同时滚动视图,android,android-listview,android-scrollview,Android,Android Listview,Android Scrollview,我有一个带有列表视图和自定义视图的RelativeLayout。我通过编程将自定义视图的大小设置为ListView的大小。因此,我在ListView的顶部有一个自定义视图,两个视图的大小相同。显然,ListView没有滚动,因为onTouchListener位于customView上。如何使这两个视图同时滚动?最后,我在自定义视图类中创建了一个函数,将ListView和行数作为参数。在视图中,我将ListView设置为ScrollListener,并在滚动到自定义视图的全局滚动变量时指定List
public void setListView(final TwoWayView listView, int totalListRows) {
totalColumns = totalListRows;
for (int i = 0; i < totalColumns; i++) {
listViewItemHeights.put(i, (int) getResources().getDimension(R.dimen.column_width));
}
listView.setOnScrollListener(new TwoWayView.OnScrollListener() {
@Override
public void onScrollStateChanged(TwoWayView view, int scrollState) {
}
@Override
public void onScroll(TwoWayView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
c = listView.getChildAt(0);
if (c != null) {
int oldScrollX = scrollX;
scrollX = -c.getLeft();
for (int i = 0; i < listView.getFirstVisiblePosition(); ++i) {
if (listViewItemHeights.get(i) != null) {
scrollX += listViewItemHeights.get(i);
}
}
scrollBy(scrollX - oldScrollX, 0);
}
}
});
}
public void setListView(最终双向视图列表视图,int totalistrows){
totalColumns=totalListRows;
对于(int i=0;i
我相信有一个属性可以使视图忽略所有触摸事件,不可聚焦?但是我记不起确切的名称,请查看onTouch()方法中的docsreturn false,若要将事件传递给listview,我不想输入all touch事件,我想在用户尝试滚动listview时同时滚动listview和我的自定义视图。