首页 > 解决方案 > 在 postDelayed 方法中触发 OnTouchlistener

问题描述

我正在创建一个井字游戏,目前,在有人获胜后,我有一个 postDelayed 函数,该函数在 5 毫秒后触发。在这 500 毫秒内,我可以画出获胜的角色,也可以显示获胜的动画。我想知道是否可以让用户强制等待 500 毫秒,然后在延迟后点击继续。这可能吗?

private void player1Wins() {
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 3; j++) {
            buttons[i][j].setEnabled(false);
        }
    }
    player1Points++;
    textViewPlayer1.setText(Integer.toString(player1Points));
    Toast.makeText(this, "Player 1 has won", Toast.LENGTH_SHORT).show();
    final Handler handler = new Handler();
    final Runnable r = new Runnable() {
        public void run() {
            resetBoard();
        }
    };
    handler.postDelayed(r, 500);
    winAnimation(winCondition);
}

标签: javaandroid

解决方案


'是的,你可以做到。您可以在其属性中隐藏 xml 中的按钮。

android:visibility="gone";

'在 5 毫秒后的 postDelayed 函数中,您可以向用户显示此按钮'

        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
               button.setVisibility(view.VISIBLE);            
             }
        },500);

'并将它设置为你想要的点击监听器'。

“希望你能找到解决办法。”


推荐阅读