Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中使用switch case而不是if-else条件来验证edittext字段?_Android - Fatal编程技术网

如何在android中使用switch case而不是if-else条件来验证edittext字段?

如何在android中使用switch case而不是if-else条件来验证edittext字段?,android,Android,以前我使用if-else条件检查编辑文本字段是否正常工作,但我需要更改为开关大小写。我无法在代码中实现开关大小写。请告诉我如何在开关大小写中实现 btnSave.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { /** * Validat

以前我使用if-else条件检查编辑文本字段是否正常工作,但我需要更改为开关大小写。我无法在代码中实现开关大小写。请告诉我如何在开关大小写中实现

    btnSave.setOnClickListener(new View.OnClickListener() {

                public void onClick(View v)
                {
                    /**
                     * Validation
                     */
                    if(tvStartLocation.getText().toString().equalsIgnoreCase(""))
                    {
                        Toast.makeText(getActivity(),"Please enter start location", Toast.LENGTH_SHORT).show();
                    }
                    else if(tvEndLocation.getText().toString().equalsIgnoreCase(""))
                    {
                        Toast.makeText(getActivity(),"Please enter end location", Toast.LENGTH_SHORT).show();
                    }
                    else if(etStartOdometer.getText().toString().equalsIgnoreCase(""))
                    {
                        Toast.makeText(getActivity(),"Please enter Trip Start Odometer reading", Toast.LENGTH_SHORT).show();
                    }
else
{
gotonextfraggment();
}

不能在案例中使用开关案例构造。在switch案例中,只有一个参数与案例标签匹配,如果存在匹配,则执行该标签

switch(arg) {
case "label1": 
case "label2":
.
.
.
default:
}
arg
使用
label1
label2
等进行测试

在您的情况下,在所有其他if中,您都试图用
测试不同
EditText
s中文本的相等性。因此,您的
arg
在每个其他if中都会发生变化。即使您尝试实施switch case,您的switch case的
arg
也会不断变化,您将无法继续。你甚至不能这样做:

switch("") {
case edittext1.getText():
case edittext2.getText();
.
.
.
default:
}
因为案例标签必须是文字而不是变量值

因此,对于您所面临的问题,不可能实现切换情况

事实上,你现在所做的就是最好的方法