Android 将ListView拖放到CardView列表中
我试图在Gridlayout的每个子级中实现一个拖放ListView。 因此,我的GridLayout由CardView组成(它们也可以拖放)。它已通过此库实现: 和拖放ListView是使用此库实现的: 问题是ListView中的项目无法拖放,只有GridLayout的滚动运动。 在我的活动中,我有一个GridLayout的ScrollView,我认为拖放列表视图的ScrollView没有被考虑在内 当我只有一个CardView(所以ScrollView被禁用)时,拖放就起作用了 所以我尝试了一些类似下面的黑客行为,但没有任何改变Android 将ListView拖放到CardView列表中,android,android-listview,drag-and-drop,nested,android-cardview,Android,Android Listview,Drag And Drop,Nested,Android Cardview,我试图在Gridlayout的每个子级中实现一个拖放ListView。 因此,我的GridLayout由CardView组成(它们也可以拖放)。它已通过此库实现: 和拖放ListView是使用此库实现的: 问题是ListView中的项目无法拖放,只有GridLayout的滚动运动。 在我的活动中,我有一个GridLayout的ScrollView,我认为拖放列表视图的ScrollView没有被考虑在内 当我只有一个CardView(所以ScrollView被禁用)时,拖放就起作用了 所以我尝试了
((GripView)rootView.findViewById(R.id.grip_view)).setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
mParentScrollView.setEnabled(false);
break;
case MotionEvent.ACTION_UP:
mParentScrollView.setEnabled(true);
break;
}
return true;
}
});
有一个XML结构:
fragment\u manage\u program.xml
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/scroll_view"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.GridLayout
android:id="@+id/grid_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:columnCount="1" />
</ScrollView>
fragment\u manage\u program\u item.xml(在GridLayout内部创建)
fragment\u manage\u program\u set\u item.xml(在DynamicList视图中创建)
好的,我已经用需要API级别21的解决方案解决了我的问题:
mDragNDropListView.setNestedScrollingEnabled(true);
对于API级别4或更高级别,您可以使用好的,我已经解决了需要API级别21的解决方案的问题:
mDragNDropListView.setNestedScrollingEnabled(true);
对于API级别4或更高,您可以使用
mDragNDropListView.setNestedScrollingEnabled(true);