首页 > 解决方案 > 如何在这些代码行中添加 if-else 语句?

问题描述

我想确保我的用户在有资格创建帐户之前填写界面中提供的所有空格。我在哪里可以在这些代码行中添加 if-else 语句?我这样做是为了确保用户在进入个人资料页面之前插入了所有数据。请帮帮我。

 createacc.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(MainActivity.this, profile.class);
            startActivity(intent);
            getData();
        }
    });
}

private void getData() {
    email = "" + Pemail.getText().toString().trim();
    name = "" + Pname.getText().toString().trim();
    age = "" + PAge.getText().toString().trim();
    phone = "" + Pphone.getText().toString().trim();
    preferenceselected = "" + Ppreferenceselected.getText().toString().trim();
    password = "" + Ppassword.getText().toString().trim();

    String timeStamp = "" + System.currentTimeMillis();

    boolean id = dbHelper.insertInfo(
            "" + imageUri,
            "" + email,
            "" + name,
            "" + age,
           "" + phone,
            "" + preferenceselected,
            "" + password,
            ""+timeStamp,
            ""+timeStamp

    );

        Toast.makeText(this, "Account Created", Toast.LENGTH_SHORT).show();
}

标签: javaandroidsqliteif-statementandroid-sqlite

解决方案


修剪完EditTexts 中包含的所有值后,检查它们是否为空:

email = Pemail.getText().toString().trim();
name = Pname.getText().toString().trim();
age = PAge.getText().toString().trim();
phone = Pphone.getText().toString().trim();
preferenceselected = Ppreferenceselected.getText().toString().trim();
password = Ppassword.getText().toString().trim();
if (email.isEmpty() || name.isEmpty() || age.isEmpty() || phone.isEmpty() || preferenceselected.isEmpty() || password.isEmpty()) {
    Toast.makeText(this, "Please fill all the info...", Toast.LENGTH_SHORT).show();
    return; 
}
String timeStamp = "" + System.currentTimeMillis();
......................................................

表达方式:

email.isEmpty() || name.isEmpty() || age.isEmpty() || phone.isEmpty() || preferenceselected.isEmpty() || password.isEmpty()

true如果其中一个操作数返回,将返回,并且由于短路评估true而不会检查其余部分,在这种情况下,将显示 a 并且代码将返回而不继续创建帐户,因此不需要.Toastelse...

也不需要所有这些"" + ...连接,因为结果toString().trim()是 a String


推荐阅读