我完全被这个难住了。我有三个不同的列表需要显示在屏幕上。列表完全有可能超出屏幕的底部边缘,因此我需要滚动。
我试过将 ScrollView
与 LinearLayout
子项一起使用,并将我的 ListViews
放入 LinearView
,但所有 ListViews
都锁定到带有滚动条的固定高度。使用其他类型的布局意味着无需滚动。
有没有人有任何建议,或者我是否需要以编程方式将列表项添加到某些布局并希望最好?
最佳答案
将触摸事件从 touched
View 转发到其他 View 。您的所有 View 也将同步展开/折叠。
OnTouchListener mOnTouch = new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
MotionEvent newEvent = MotionEvent.obtain(event);
switch(event.getAction()) {
case MotionEvent.ACTION_MOVE:
if(mTouched == null) {
mTouched = v;
}
mMovingFlag = true;
break;
case MotionEvent.ACTION_UP:
if(mMovingFlag==false) {
newEvent.setAction(MotionEvent.ACTION_CANCEL);
}
mMovingFlag = false;
break;
default:
mMovingFlag = false;
if(mTouched != null && mTouched.equals(v)) {
mTouched = null;
}
break;
}
if(mTouched == null || mTouched.equals(v)) {
int items = mLayoutWithListViews.getChildCount();
for(int i = 0; i < items; i++) {
AbsListView listView = mLayoutWithListViews.getChildAt(i));
if(listView != v) {
listView.onTouchEvent(newEvent);
}
}
}
return false;
}
};
关于android - 滚动多个 ListViews for Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6981139/