如何在android中使用switch case而不是if-else条件来验证edittext字段?
以前我使用if-else条件检查编辑文本字段是否正常工作,但我需要更改为开关大小写。我无法在代码中实现开关大小写。请告诉我如何在开关大小写中实现如何在android中使用switch case而不是if-else条件来验证edittext字段?,android,Android,以前我使用if-else条件检查编辑文本字段是否正常工作,但我需要更改为开关大小写。我无法在代码中实现开关大小写。请告诉我如何在开关大小写中实现 btnSave.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { /** * Validat
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:
}
因为案例标签必须是文字而不是变量值
因此,对于您所面临的问题,不可能实现切换情况
事实上,你现在所做的就是最好的方法