Android 在ListView滚动的同时滚动视图

Android 在ListView滚动的同时滚动视图,android,android-listview,android-scrollview,Android,Android Listview,Android Scrollview,我有一个带有列表视图和自定义视图的RelativeLayout。我通过编程将自定义视图的大小设置为ListView的大小。因此,我在ListView的顶部有一个自定义视图,两个视图的大小相同。显然,ListView没有滚动,因为onTouchListener位于customView上。如何使这两个视图同时滚动?最后,我在自定义视图类中创建了一个函数,将ListView和行数作为参数。在视图中,我将ListView设置为ScrollListener,并在滚动到自定义视图的全局滚动变量时指定List

我有一个带有列表视图和自定义视图的RelativeLayout。我通过编程将自定义视图的大小设置为ListView的大小。因此,我在ListView的顶部有一个自定义视图,两个视图的大小相同。显然,ListView没有滚动,因为onTouchListener位于customView上。如何使这两个视图同时滚动?

最后,我在自定义视图类中创建了一个函数,将ListView和行数作为参数。在视图中,我将ListView设置为ScrollListener,并在滚动到自定义视图的全局滚动变量时指定ListView的位置。像这样

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和我的自定义视图。