我有一个ImageView和一个GridView。当我开始拖动图像时,我将其隐藏(GONE):
imageView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
ClipData.Item item = new ClipData.Item((CharSequence) view.getTag());
String[] mimeTypes = {ClipDescription.MIMETYPE_TEXT_PLAIN};
ClipData dragData = new ClipData(view.getTag().toString(), mimeTypes, item);
View.DragShadowBuilder myShadow = new View.DragShadowBuilder(imageView);
view.startDrag(dragData, myShadow, piece, 0);
imageView.setVisibility(View.GONE);
return false;
}
});
现在我删除的视图与GridView上的一个视图匹配。如果我把它放在它上面,我不需要任何事情发生,如果我把它放在任何其他视图上我再次使它可见并且工作正常(所有这些都发生在GridView适配器中)。
但是,如果它根本不放在GridView上,我也想让它可见(例如,它被放在GridView和原始View之间的空白区域)。 我试过这个:
imageView.setOnDragListener(new View.OnDragListener() {
@Override
public boolean onDrag(View view, DragEvent dragEvent) {
int action = dragEvent.getAction();
switch (action) {
case DragEvent.ACTION_DRAG_ENDED:
Log.d("test", "visible");
imageView.setVisibility(View.VISIBLE);
break;
}
return true;
}
});
我看到了日志消息,因此触发了ACTION_DRAG_ENDED,但imageView的可见性不会改变。任何人的想法?