Android,如何在启动另一个(在同一个Activity中)之前等待一个动作(几秒钟)?

时间:2018-06-13 18:10:46

标签: android

我有一个简单的儿童Android应用程序,目标是在他们的位置拖放数字(例如:空方格中的方块)等等。

所以我可以做这样的事情,我在OnTouchListener和OnDragListener之间使用了一个组合,到目前为止,我没有遇到任何问题,但这个问题与同步有关。

我希望第一个拖动cercle的动作在完成之后等待5000ms ,然后用户可以将一个正方形拖放到他的位置。

我使用过处理程序,问题是操作是在完成操作之前处理的,而不是之后处理的。

这里是我在DragEvent.ACTION_DROP案例中所做的代码:

switch (dragEvent)
        {
            case DragEvent.ACTION_DRAG_ENTERED:
                break;

            case DragEvent.ACTION_DRAG_EXITED:
                break;

            case DragEvent.ACTION_DROP:

                if (view.getId() == R.id.fullsquare)
                {

                    view.animate()
                            .x(square.getX())
                            .y(square.getY())
                            .setDuration(700)
                            .start();

                    Toast toast = Toast.makeText(getApplicationContext(), "Great, it's a square", Toast.LENGTH_LONG);
                    toast.show();
                }
            break;
        }
编辑:正如我在下面的评论中提到的,不同之处在于我希望第二个动作在第一个动作启动和完成5000毫秒后发生,处理程序和Java TimerTasks做的是什么,它们迫使我在启动第一个操作之前等待5000毫秒。

0 个答案:

没有答案