listView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
listLeftTitleView.dispatchTouchEvent(arg1);
return false;
}
});
listView.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView arg0, int arg1) {
}
@Override
public void onScroll(AbsListView arg0, int arg1, int arg2, int arg3) {
if (listView.getChildAt(0) != null) {
Rect r = new Rect();
listView.getChildVisibleRect(listView.getChildAt(0), r, null);
listLeftTitleView.setSelectionFromTop(listView.getFirstVisiblePosition(), r.top);
}
}
});
}
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
listLeftTitleView.dispatchTouchEvent(arg1);
return false;
}
});
listView.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView arg0, int arg1) {
}
@Override
public void onScroll(AbsListView arg0, int arg1, int arg2, int arg3) {
if (listView.getChildAt(0) != null) {
Rect r = new Rect();
listView.getChildVisibleRect(listView.getChildAt(0), r, null);
listLeftTitleView.setSelectionFromTop(listView.getFirstVisiblePosition(), r.top);
}
}
});
}