其他开关盒内的开关盒

时间:2014-05-03 12:18:31

标签: android

我有一个可扩展的列表视图。从此列表中选择项目时,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

2 个答案:

答案 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语句;