让我们说:
Activity1包含一些将被拖动的项目
Activity2包含一些"框"这将填充Activity1的项目。这些盒子已经有了拖拽监听器
我想将项目从Activity1拖到Activity2中
我试过这些方法:
onLongClickListener()
并在那里使用startDrag()
。然后我打开Activity2。我可以使拖动阴影出现,但框不能接收该项目。事实上,他们没有回复任何DragEvent
。onLongClickListener()
,但只是将数据传递给Activity2。然后我在Activity2启动时使用startDrag()
(特别是在onResume()
中)。在这里,阴影没有出现,方框也没有响应任何DragEvent
。有没有办法让这成为可能?
答案 0 :(得分:2)
可以使用两个视图寻呼机片段代替2个活动,你可以在onTouch()或dispatchTouch()中设置拖放逻辑。
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
return super.dispatchTouchEvent(ev);
}
在片段活动中使用dispatchTouch()或
viewPager.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return false;
}
});
使用视图寻呼机的触摸事件,您可以在内部设置拖放逻辑。
我希望这个想法可以帮到你。