【发布时间】:2013-12-19 10:59:30
【问题描述】:
我感谢那些试图帮助我的人,这对我来说非常重要......
我正在尝试为网格视图内的项目实现拖动,我在互联网上看到了很多示例但无法理解:/
我的 xml 中有一个带有不同图像的 gridview:
<GridView
android:id="@+id/contenedorPictogramas"
android:layout_width="780dp"
android:layout_height="520dp"
android:columnWidth="160dp"
android:numColumns="auto_fit"
android:verticalSpacing="20dp"
android:horizontalSpacing="20dp"
android:stretchMode="columnWidth"
android:gravity="center"
android:background="@drawable/shape"
/>
我使用了一种我用来拖动其他图像的方法:
private final class MyTouchListener implements OnTouchListener {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
ClipData data = ClipData.newPlainText("", "");
DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(view);
view.startDrag(data, shadowBuilder, view, 0);
view.setVisibility(View.INVISIBLE);
return true;
} else {
return false;
}
}
}
为了将图像设置到网格视图中,我尝试这样做:
GridView gridview = (GridView) findViewById(R.id.contenedorPictogramas);
gridview.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View arg0, MotionEvent arg1) {
arg0.setOnTouchListener(new MyTouchListener());//HERE IS THE PROBLEM (I THING)
return false;
}
});
但我拖动 gridview 的所有项目:/
【问题讨论】:
标签: java android gridview draggable drag