当前位置: 首页 > 知识库问答 >
问题:

If、else和elseif语句在Android系统中不起作用,请单击按钮

曹兴贤
2023-03-14

当我使用if语句时,我会遇到一个问题。我在做一个按钮登录,我用了那种代码

  edtEditText = findViewById(R.id.username);
    edtEditText1 = findViewById(R.id.password);
    String email = edtEditText.getText().toString().trim();
    String password = edtEditText1.getText().toString().trim();
    
    btn = findViewById(R.id.loginbtn);
    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (email.equals("")){
                Toast toast = Toast.makeText(getApplicationContext(), "Please Enter Email",Toast.LENGTH_SHORT);
                toast.show();
            }else if (password.equals("")) {
                Toast toast = Toast.makeText(getApplicationContext(), "Please Enter Password",Toast.LENGTH_SHORT);
                toast.show();
            }else {
                signIn();
            }
        }
    });

它只在该行之后的一行工作。

 @Override
        public void onClick(View view) {

我该怎么解决这个问题?

共有1个答案

施阳曜
2023-03-14

您正在使用闭包,String电子邮件在setOnClickListener()的运行时被限制为值,并且可能是空字符串。

你应该这样做:

btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            String email = edtEditText.getText().toString().trim();
            if (email.equals("")){
 类似资料:
  • 我想用Javascript、DOM、HTML和CSS构建一个游戏。我的逻辑是这样的: Step4:如果值彼此不相等,程序会要求刷新浏览器。 但问题是,当我在浏览器中运行这段代码时,只有else语句起作用,if/else-if不起作用。另一个问题是:单击“Button number Three”时,else语句在<标记中显示随机数之前起作用。

  • if statements in Smarty have much the same flexibility as php if statements, with a few added features for the . Everyif must be paired with an/if .else andelseif are also permitted. "eq", "ne","neq",

  • 概要 <#if condition> ... <#elseif condition2> ... <#elseif condition3> ... ... <#else> ... </#if> 这里: condition, condition2, 等:将被计算成布尔值的表达式。 elseif 和 else 是可选的。 描述 你可以使用 if, elseif 和 else 指令来条

  • 我刚开始学C++,我试着做一个骰子游戏,用户输入一个1到6之间的数字,然后代码打印一个在这个范围内的随机数,如果y和z相同,你就赢了。 这是我的代码,但当我输入一个数组中没有的数字时,它的工作方式就好像它在数组中一样。 (输入是y)(数组是x)(你需要赢的数字是z) 此外,我可能会更改它,使它只读取数组,这样用户甚至可以放入骰子的边数,如果这样做顺利的话。

  • 一个If语句后面跟着一个或多个ElseIf语句,这些语句由布尔表达式组成,然后是一个默认的else语句,当所有条件都变为false时执行。 语法 (Syntax) 以下是VBScript中If Elseif - Else语句的语法。 If(boolean_expression) Then Statement 1 ..... ..... Statement n ElseIf

  • if语句后面可以跟一个else if...else语句,这对于使用单个if...else if语句测试各种条件非常有用。 语法 (Syntax) if...else if...else语句的语法如下 - if boolean_expression_1 { /* Executes when the boolean expression 1 is true */ } else if boolea