比方说:
Activity1包含一些将被拖动的项目
Activity2包含一些“框”,其中将填充Activity1的项目。这些盒子已经具有拖动侦听器。
我想将项目从Activity1拖到Activity2
我尝试了以下方法:


我在Activity1项目上实现onLongClickListener(),并在其中使用startDrag()。然后我打开Activity2。我可以使拖动阴影出现,但框不能接收该项目。实际上,他们不响应任何DragEvent
我在Activity1项上实现了onLongClickListener(),但只是将数据传递到Activity2中。然后我在Activity2启动时使用startDrag()(特别是在onResume()中)。在这里,阴影不出现,并且框不响应任何DragEvent


有什么办法可以做到这一点?

最佳答案

可以使用视图分页器的两个片段代替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;
            }
        });


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

我希望这个想法能对您有所帮助。

关于android - Android-2个 Activity 之间的拖放,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49399121/

10-10 03:14