Android计时器扭曲

时间:2014-09-02 23:15:42

标签: java android timer handler

我知道如何使用和不使用处理程序制作常规计时器,但是我更喜欢使用处理程序,所以如果你能给出你最好的答案,我会更加欣赏它:)

我想要做的是创建一个在postDelayed处理程序之后启动的计时器,它为用户提供了点击其中一个按钮的时间,否则会丢失。基本上你有1秒钟点击一个按钮,否则你将失去hp(或其他东西)。

下面是一个示例任务:

我必须制作一个颜色应用程序,然后会出现一个带有颜色名称的文本。然后,用户必须按下颜色正确的按钮/图像按钮。现在用户有1秒钟点击其中一个按钮,否则他会输掉..

任何人都知道一个教程,或者我可以用于此目的的例子吗?

1 个答案:

答案 0 :(得分:0)

例如,请考虑以下Handler定义:

private static final int LOSE_GAME_EVENT = 1;

private final Handler mHandler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
        switch(msg.what) {
            case LOSE_GAME_EVENT:
                // Then the player has lost the game.
                break;
        }
    }
};

当玩家点击按钮并启动计时器时,您可以在1秒延迟后发布LOSE_GAME_EVENT消息以执行:

mHandler.sendEmptyMessageDelayed(LOSE_GAME_EVENT, 1000);

如果用户在1秒钟之前未点击按钮,则会执行该事件并且玩家将失去游戏。否则,当单击该按钮时,您可以从处理程序中删除该事件(从而确保它不会被执行),如下所示:

mHandler.removeMessages(LOSE_GAME_EVENT);