检查是否EditText.isEmpty()不工作 [英] Checking if EditText.isEmpty() not working

查看:155
本文介绍了检查是否EditText.isEmpty()不工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的code,我要检查,如果密码字段为空。我现在用的的isEmpty()方法来实现它,但它不工作。离开密码领域的空白,将恢复到第二否则-if语句,而不是第三。结果

 公共类MainActivity延伸活动{
@覆盖
保护无效的onCreate(捆绑savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.activity_main);    最终的EditText密码=(EditText上)findViewById(R.id.editText_Password);
    按钮输入=(按钮)findViewById(R.id.button);    enter.setOnClickListener(新OnClickListener(){        @覆盖
        公共无效的onClick(查看为arg0){            串user_pass;
            。user_pass = password.getText()的toString();                如果(user_pass.equals(123)){
                    Toast.makeText(MainActivity.this,欢迎光临!,Toast.LENGTH_SHORT).show();
                    意图I =新意图(com.mavenmaverick.password.OKActivity);
                    startActivity(Ⅰ);
                }                其他                    如果(user_pass!=123){
                    Toast.makeText(MainActivity.this,不正确的,Toast.LENGTH_SHORT).show();
                    AlertDialog.Builder dialogBu​​ilder =新AlertDialog.Builder(MainActivity.this);
                        dialogBu​​ilder.setIcon(R.drawable.ic_launcher);
                        dialogBu​​ilder.setTitle(哎呀!);
                        dialogBu​​ilder.setMessage(密码不正确);
                        dialogBu​​ilder.setPositiveButton(OK,NULL);
                        dialogBu​​ilder.show();
                    }                其他
                    如果(user_pass.isEmpty()){
                        AlertDialog.Builder dialogBu​​ilder =新AlertDialog.Builder(MainActivity.this);
                            dialogBu​​ilder.setIcon(R.drawable.ic_launcher);
                            dialogBu​​ilder.setTitle(哎呀!);
                            dialogBu​​ilder.setMessage(密码字段不能为空);
                            dialogBu​​ilder.setPositiveButton(OK,NULL);
                            dialogBu​​ilder.show();
                        }        }
    });
}


解决方案

您如果第二次检查 user_pass!=123。从逻辑上讲,如果 user_pass 是空它不是123,它甚至不会去的第三个如果。如果你想要的工作,你切换第二和第三个如果。

In my code, I want to check if the password field is empty. I am using the isEmpty() method to accomplish it but it does not work. Leaving the password field blank, reverts to the 2nd else-if statement and not the third.

public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final EditText password = (EditText) findViewById(R.id.editText_Password);
    Button enter = (Button) findViewById(R.id.button);

    enter.setOnClickListener(new OnClickListener() {



        @Override
        public void onClick(View arg0) {

            String user_pass;
            user_pass = password.getText().toString();

                if (user_pass.equals("123")) {
                    Toast.makeText(MainActivity.this, "Welcome!", Toast.LENGTH_SHORT).show();
                    Intent I = new Intent("com.mavenmaverick.password.OKActivity");
                    startActivity(I);
                }

                else

                    if(user_pass != "123"){
                    Toast.makeText(MainActivity.this, "Incorrect", Toast.LENGTH_SHORT).show();
                    AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(MainActivity.this);
                        dialogBuilder.setIcon(R.drawable.ic_launcher);
                        dialogBuilder.setTitle("Oops!");
                        dialogBuilder.setMessage("Incorrect Password");
                        dialogBuilder.setPositiveButton("OK", null);
                        dialogBuilder.show();
                    }

                else
                    if (user_pass.isEmpty()) {
                        AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(MainActivity.this);
                            dialogBuilder.setIcon(R.drawable.ic_launcher);
                            dialogBuilder.setTitle("Oops!");
                            dialogBuilder.setMessage("Password Field Cannot Be Empty");
                            dialogBuilder.setPositiveButton("OK", null);
                            dialogBuilder.show();
                        }

        }
    });




}

解决方案

Your second if checks for user_pass != "123". Logically, if the user_pass is empty it is not "123" and it won't even go for the third if. If you want it to work, switch your second and third if.

这篇关于检查是否EditText.isEmpty()不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆