我有一个可扩展的列表视图。从此列表中选择项目时,childd和parentt变量会发生变化。它工作正常。但在那之后,下面的代码是写的,但只有最后一种情况有效:
switch (groupp)
{
case 1:
{
switch (childd)
{
case 1:
{SelectedGenre.setText("1") ;}
case 2:
{SelectedGenre.setText("2") ;}
case 3:
{SelectedGenre.setText("3") ;}
case 4:
{SelectedGenre.setText("4") ; }
case 5:
{SelectedGenre.setText("5") ;}
}
}
case 2:
{
switch (childd)
{
case 1:
{SelectedMozoo.setText("a") ;}
case 2:
{SelectedMozoo.setText("b") ;}
case 3:
{SelectedMozoo.setText("c") ;}
case 4:
{SelectedMozoo.setText("d") ; }
case 5:
{SelectedMozoo.setText("e") ; }
case 6:
{SelectedMozoo.setText("f") ; }
}
}
}
运行此代码后,SelectedGenre设置为:5并选择mozoo设置为:f。但是groupp不是1和childd5
答案 0 :(得分:1)
您的交换机案例中没有break
。
试试这个:
switch (groupp)
{
case 1:
{
switch (childd)
{
case 1:
{SelectedGenre.setText("1") ;break;}
case 2:
{SelectedGenre.setText("2") ;break;}
case 3:
{SelectedGenre.setText("3") ;break;}
case 4:
{SelectedGenre.setText("4") ; break;}
case 5:
{SelectedGenre.setText("5") ;break;}
}
}
break;
case 2:
{
switch (childd)
{
case 1:
{SelectedMozoo.setText("a") ;break;}
case 2:
{SelectedMozoo.setText("b") ;break;}
case 3:
{SelectedMozoo.setText("c") ;break;}
case 4:
{SelectedMozoo.setText("d") ; break;}
case 5:
{SelectedMozoo.setText("e") ; break;}
case 6:
{SelectedMozoo.setText("f") ; break;}
}break;
}
}
答案 1 :(得分:1)
在每个案例完成后使用break语句。 因为switch case表示如果任何一个case匹配,则如果没有终止,则所有将被执行。所以在每个案例后使用break语句;