Android - 在两个活动之间拖放

时间:2018-03-21 05:53:29

标签: android drag-and-drop

让我们说:
Activity1包含一些将被拖动的项目 Activity2包含一些"框"这将填充Activity1的项目。这些盒子已经有了拖拽监听器 我想将项目从Activity1拖到Activity2中 我试过这些方法:

  1. 我在Activity1项目上实施onLongClickListener()并在那里使用startDrag()。然后我打开Activity2。我可以使拖动阴影出现,但框不能接收该项目。事实上,他们没有回复任何DragEvent
  2. 我在Activity1项目上实现onLongClickListener(),但只是将数据传递给Activity2。然后我在Activity2启动时使用startDrag()(特别是在onResume()中)。在这里,阴影没有出现,方框也没有响应任何DragEvent
  3. 有没有办法让这成为可能?

1 个答案:

答案 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;
            }
        });

使用视图寻呼机的触摸事件,您可以在内部设置拖放逻辑。

我希望这个想法可以帮到你。

相关问题