gpt4 book ai didi

java - 如何在 Android 中用基于 onClick 的 turn 替换计时器?

转载 作者:行者123 更新时间:2023-11-29 04:33:50 25 4
gpt4 key购买 nike

我正在尝试使用 Firebase 在 Android Studio 中制作 TicTacToe 在线多人游戏,下面是我用于按钮的代码(9 个 TicTacToe block 中的一个)。现在我正在使用一个计时器来阻止用户在他点击按钮后点击任何其他按钮,让其他用户有时间点击。但是我想做到这一点,以便一个用户在另一个用户单击按钮之前无法单击任何按钮。有办法吗?nothing & face & a1 的默认值为“零”,added 的默认值为“一”,而 rface 只是一个从“face”获取值的字符串变量。

//below clicking
a1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//below
//starting if condition
if (ra1.equals(nothing)){

if (rface.equals(nothing)){
a1.setBackgroundResource(R.drawable.rounded);
Firebase refChild = ref2.child("a1");
refChild.setValue("round");
refChild = ref2.child("face");
refChild.setValue("one");
}

else if (rface.equals(added)) {
a1.setBackgroundResource(R.drawable.crossed);
Firebase refChild = ref2.child("a1");
refChild.setValue("cross");
refChild = ref2.child("face");
refChild.setValue("zero");
}
//timer below

a1.setClickable(false);
a2.setClickable(false);
a3.setClickable(false);
b1.setClickable(false);
b2.setClickable(false);
b3.setClickable(false);
c1.setClickable(false);
c2.setClickable(false);
c3.setClickable(false);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
a1.setClickable(true);
a2.setClickable(true);
a3.setClickable(true);
b1.setClickable(true);
b2.setClickable(true);
b3.setClickable(true);
c1.setClickable(true);
c2.setClickable(true);
c3.setClickable(true);
}
}, 3000);
//timer above
}
}
});

最佳答案

我建议使用两个不同的 OnClickListener 而不是 if 语句。一个用于 Xs,另一个用于 Os。然后你可以来回设置监听器。例如,在 X 的 OnClickListener 末尾,它使用 Os 的调用 setOnClickListener()

关于java - 如何在 Android 中用基于 onClick 的 turn 替换计时器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42623661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com