安卓 - 在 2 个活动之间拖放



假设:
活动 1 包含一些将被拖动
的项目活动 2 包含一些"框",这些"框"将填充活动 1 的项目。这些框已经有拖动侦听器。
我想将项目从活动 1 拖到活动 2
中我尝试了这些方法:

  1. 我在活动 1 项上实现onLongClickListener()并在那里使用startDrag()。然后我打开活动 2。我可以使拖动阴影出现,但框无法接收项目。事实上,他们不回应任何DragEvent.
  2. 我对活动 1 项实现onLongClickListener(),但只是将数据传递到活动 2。然后我在 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;
            }
        });

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

我希望这个想法能帮助你。

最新更新