Java:如果条件只被检查一次

标签 java if-statement conditional-statements

我正在尝试使用以下代码在 Java 中创建一个简单的 Android 应用程序:

public class MainActivity extends Activity {

    //Declare variables
    boolean first = true;
    boolean secondorbefore = true;

        Button ClickMe = (Button) findViewById(R.id.clicker);

        ClickMe.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                //Check to see if this is the first click
                if (first = true) {
                first = false;
                // DO STUFF FOR FIRST CLICK
                } else if ((secondorbefore = true) {
                    //so this is the second click?
                    secondorbefore = false;
                // DO STUFF FOR SECOND CLICK                
                    } else {
                    //OK it's the third click or later
                // DO STUFF FOR THIRD OR LATER CLICKS
                }
            }
        });


    }

然而,它似乎只运行一次 if 条件。它在第一个实例中执行代码,包括将 secondorbefore 变量设置为 false,但随后的点击似乎什么也没做。代码 OnClickListener 会在后续点击中执行,但它不会通过条件语句运行。

Java 新手,所以我可能犯了一个非常明显的错误。

非常感谢。

最佳答案

提示:

  • = 是赋值运算符。
  • == 是一个相等运算符。
  • 在 if 语句中使用赋值运算符会发生什么?
  • 在 if 语句中使用相等运算符会发生什么情况??

关于Java:如果条件只被检查一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15902716/

相关文章:

java - 如何在 Java 中搜索两个字符串之间的值范围

javascript - React JS 中的条件渲染问题

r - 基于数据帧 R 中的组的条件聚合

java - 如何将包含 return 语句的代码块制作成函数?

java 正则表达式 : word chracters and white spaces

java - 我的无效和有效日期代码不显示

mysql - 迁移中的条件语句不起作用 Laravel

java - Java 类定义中重载类型参数

java - 如何在 java 中使用 DMA 或 RDMA?

将大写更改为小写,反之亦然,无需使用函数和 if 语句