Java 如何让变量等待用户按下四个按钮中的一个?

Java 如何让变量等待用户按下四个按钮中的一个?,java,android,Java,Android,好吧,我会尽量说清楚的 我有一个名为int tentiva的变量,我希望它根据用户按下的按钮接收特定值 我有四个按钮:btPedra[0],btPedra[1],btPedra[2],btPedra[3] 如果用户按下按钮btPedra[0],变量将收到数字0 如果用户按下按钮btPedra[1],变量将收到数字1,依此类推 注意:程序应等待用户按下其中一个按钮继续 我的代码如下所示: for (contador = 0; contador < jogada; ++contador){

好吧,我会尽量说清楚的

我有一个名为
int tentiva
的变量,我希望它根据用户按下的按钮接收特定值

我有四个按钮:
btPedra[0]
btPedra[1]
btPedra[2]
btPedra[3]

如果用户按下按钮
btPedra[0]
,变量将收到数字0

如果用户按下按钮
btPedra[1]
,变量将收到数字1,依此类推

注意:程序应等待用户按下其中一个按钮继续

我的代码如下所示:

for (contador = 0; contador < jogada; ++contador){

    tentativa = 
    // HERE THE VARIABLE tentativa SHOULD RECEIVE 0, 1, 2 OR 3 DEPENDING ON THE BUTTON PRESSED.

    if (tentativa[contador] == sequencia[contador]){
        acertos++;
    } else {
        gameOver();
    }
}
for(contador=0;contador
当按下按钮时,我也想改变它的背景色

注意:我正在用java为android编程

使用下面的代码

  View.OnClickListener clickListener=new View.OnClickListener() {

    @Override
    public void onClick(View v) {

        switch (v.getId()) {

        case R.id.btPedra[0]:

        // if User Press Button 0/1/2/3/4 at time  you call a method 

        case R.id.btPedra[1]:
            btPedraOne();
            break;

        case R.id.btPedra[2]:
            btnPedrTwo();
            break;

        case R.id.btPedra[3]:
            btnPedrThree();
            break;
       case R.id.btPedra[4]:
            btnPedraFor();
            break;
        default:
            break;
        }
    }
使用下面的代码

  View.OnClickListener clickListener=new View.OnClickListener() {

    @Override
    public void onClick(View v) {

        switch (v.getId()) {

        case R.id.btPedra[0]:

        // if User Press Button 0/1/2/3/4 at time  you call a method 

        case R.id.btPedra[1]:
            btPedraOne();
            break;

        case R.id.btPedra[2]:
            btnPedrTwo();
            break;

        case R.id.btPedra[3]:
            btnPedrThree();
            break;
       case R.id.btPedra[4]:
            btnPedraFor();
            break;
        default:
            break;
        }
    }

通过设置
ClickListener
,处理btPedra[0]btPedra[1]btPedra[2]btPedra[3]的点击事件

@Override 
public void onClick(View v) {
    switch(v.getId()) {

        case R.id.<id_of_btPedra[0]> : 
            // set variable tentativa to 0
            tentativa = 0;
            break;
        case R.id.<id_of_btPedra[1]> : 
            // set variable tentativa to 1
            tentativa = 1;
            break;
        case R.id.<id_of_btPedra[2]> : 
            // set variable tentativa to 2
            tentativa = 2;
            break;
        case R.id.<id_of_btPedra[3]> : 
            // set variable tentativa to 3
            tentativa = 3;
            break;
    }
}
@覆盖
公共void onClick(视图v){
开关(v.getId()){
案例R.id.:
//将变量tentiva设置为0
tentiva=0;
打破
案例R.id.:
//将变量tentiva设置为1
tentiva=1;
打破
案例R.id.:
//将变量tentiva设置为2
tentiva=2;
打破
案例R.id.:
//将变量tentiva设置为3
tentiva=3;
打破
}
}

通过设置
点击监听器来处理btPedra[0]btPedra[1]btPedra[2]btPedra[3]的点击事件

@Override 
public void onClick(View v) {
    switch(v.getId()) {

        case R.id.<id_of_btPedra[0]> : 
            // set variable tentativa to 0
            tentativa = 0;
            break;
        case R.id.<id_of_btPedra[1]> : 
            // set variable tentativa to 1
            tentativa = 1;
            break;
        case R.id.<id_of_btPedra[2]> : 
            // set variable tentativa to 2
            tentativa = 2;
            break;
        case R.id.<id_of_btPedra[3]> : 
            // set variable tentativa to 3
            tentativa = 3;
            break;
    }
}
@覆盖
公共void onClick(视图v){
开关(v.getId()){
案例R.id.:
//将变量tentiva设置为0
tentiva=0;
打破
案例R.id.:
//将变量tentiva设置为1
tentiva=1;
打破
案例R.id.:
//将变量tentiva设置为2
tentiva=2;
打破
案例R.id.:
//将变量tentiva设置为3
tentiva=3;
打破
}
}

将onclick侦听器添加到按钮并在onclick方法中设置变量

Button-Button=(Button)findViewById(R.id.Button\u-id);
setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
//设置变量。
} });

向按钮添加onclick侦听器,并在onclick方法中设置变量

Button-Button=(Button)findViewById(R.id.Button\u-id);
setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
//设置变量。
} });

我会稍微不同地解决这个问题

假设您以以下方式定义按钮:

    <Button
        android:id="@+id/button1"
        ...
        android:onClick="buttonClick1"/>

    <Button
        android:id="@+id/button2"
        ...
        android:onClick="buttonClick2"/>

    <Button
        android:id="@+id/button3"
        ...
        android:onClick="buttonClick3"/>
最后,gameCheck将是检查游戏是否结束并进行计数的方法:

public void gameCheck(int tentativa) {

        if (tentativa == sequencia[current_step]){
            acertos++;
        } else {
            gameOver();
        }
        current_step++;
        contador++;
    }
}
注意,我从gameCheck中提取了一些变量,并假设它们是这个类的变量

关于样式的最后一个观察结果是,我没有使用三种方法来点击按钮,而是只使用一种方法,并使用id来知道应该传递给gameCheck的值


我希望它是有意义的,并且对您有效。

我会稍微不同地解决这个问题

假设您以以下方式定义按钮:

    <Button
        android:id="@+id/button1"
        ...
        android:onClick="buttonClick1"/>

    <Button
        android:id="@+id/button2"
        ...
        android:onClick="buttonClick2"/>

    <Button
        android:id="@+id/button3"
        ...
        android:onClick="buttonClick3"/>
最后,gameCheck将是检查游戏是否结束并进行计数的方法:

public void gameCheck(int tentativa) {

        if (tentativa == sequencia[current_step]){
            acertos++;
        } else {
            gameOver();
        }
        current_step++;
        contador++;
    }
}
注意,我从gameCheck中提取了一些变量,并假设它们是这个类的变量

关于样式的最后一个观察结果是,我没有使用三种方法来点击按钮,而是只使用一种方法,并使用id来知道应该传递给gameCheck的值


我希望它有意义,并且对您有效。

尝试向按钮添加事件侦听器,然后执行您需要的操作。您好。您不应在邮件中包含
你好
谢谢
你好吗?
或任何其他问候语。如果您对为什么感兴趣,请阅读以下内容:)尝试将事件侦听器添加到按钮,然后执行所需的操作。您好。您不应在邮件中包含
你好
谢谢
你好吗?
或任何其他问候语。如果您对为什么感兴趣,请阅读以下内容:)尝试将事件侦听器添加到按钮,然后执行所需的操作。您好。您不应在邮件中包含
你好
谢谢
你好吗?
或任何其他问候语。如果您对为什么感兴趣,请阅读以下内容:)