gpt4 book ai didi

java - 如果其他逻辑在 Android 中不起作用

转载 作者:行者123 更新时间:2023-12-02 06:59:40 25 4
gpt4 key购买 nike

这 3 项联系信息(家庭电话手机号码电子邮件地址)至少应填写一项。如果用户输入了这些联系信息之一的错误信息,则陷阱代码将被执行。

但不幸的是,我的代码不起作用......

   else if ((Homeno.equals("")) || (MobileNo.equals("")) || (Email.equals("")) ) {
Toast.makeText(getApplicationContext(),
"Please enter at least one (1) your contact information.", Toast.LENGTH_SHORT).show();
}

//TRAPPING CODES
//Tel no. Validator
else if (Homeno.length()<9) {
Toast.makeText(getApplicationContext(),
"Invalid Telephone Number!", Toast.LENGTH_SHORT).show();
}

//Mobile Number must be at least 12
else if (MobileNo.length()<12) {
Toast.makeText(getApplicationContext(),
"Mobile Number must be 12 digits!", Toast.LENGTH_SHORT).show();
}

//Mobile Validator
else if (!validcp.matches()) {
Toast.makeText(getApplicationContext(),
"Invalid Mobile Number!", Toast.LENGTH_SHORT).show();
}

//Email validator
else if (!matcherObj.matches()) {
Toast.makeText(getApplicationContext(),
"Invalid Email Address!", Toast.LENGTH_SHORT).show();
}

最佳答案

首先你说代码不起作用。请具体说明。您说应填写 3 项联系信息(家庭电话、手机号码和电子邮件地址)中的至少一项。根据您的说法,我了解到用户应该能够输入其中任何一项并将其他两项留空。但是,根据上面的说法:

else if ((Homeno.equals("")) || (MobileNo.equals("")) || (Email.equals("")) ) {}

这意味着如果其中任何一个为空,您的应用程序将显示 toast:

请至少输入一 (1) 条您的联系信息(即使输入了任何一项)。

如果任何一个为空,则控件不会进入上述语句后面的任何其他 if 条件(就像您使用的 else if 一样)。希望这可以帮助。这是您可能想要查看的事情之一。对于其他问题,请具体说明,我们可以尽力帮助您。

更新你应该有这样的东西:

...
else if ((Homeno.equals("")) && (MobileNo.equals("")) && (Email.equals("")) ) {
Toast.makeText(getApplicationContext(),
"Please enter at least one (1) your contact information.", Toast.LENGTH_SHORT).show();
}

事实上,我能想到的可能还有一个问题:

如果您有四个字段,那么我相信您会想要检查所有四个字段的有效性。因此,您不应使用 else if 来验证条件。相反,您可能想检查所有四个。

使用整个内容,例如:

...
}else if ((Homeno.equals("")) && (MobileNo.equals("")) && (Email.equals("")) ) {
Toast.makeText(getApplicationContext(),
"Please enter at least one (1) your contact information.", Toast.LENGTH_SHORT).show();
} else{

if (Homeno.length()<9) {
Toast.makeText(getApplicationContext(),
"Invalid Telephone Number!", Toast.LENGTH_SHORT).show();
}

//Mobile Number must be at least 12
if ( (MobileNo.length()<12) {
Toast.makeText(getApplicationContext(),
"Mobile Number must be 12 digits!", Toast.LENGTH_SHORT).show();
}

//Mobile Validator
if (!validcp.matches()) {
Toast.makeText(getApplicationContext(),
"Invalid Mobile Number!", Toast.LENGTH_SHORT).show();
}

//Email validator
if (!matcherObj.matches()) {
Toast.makeText(getApplicationContext(),
"Invalid Email Address!", Toast.LENGTH_SHORT).show();
}
}

希望它能解答您的所有疑问。如果您还有其他疑虑或没有得到任何信息,可以在下面发表评论。

更新2:

根据@Nicholas 给出的建议,我更新了答案。四个 if 子句只有在其中至少一个不为空时才会执行。

关于java - 如果其他逻辑在 Android 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16826282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com