【问题标题】:Switch statement AndroidSwitch 语句 Android
【发布时间】:2014-03-13 08:12:38
【问题描述】:

我的 switch 语句有问题。当我尝试从列表中选择一个项目时,它会自动执行 switch 语句的最后一个案例。这是我的代码:

CustomAdapter.java

@Override
 public View getView(final int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    Holder holder=new Holder();
    View rowView;        
         rowView = inflater.inflate(R.layout.list_field, null);
         holder.tv2=(TextView) rowView.findViewById(R.id.textView2);
         holder.tv=(TextView) rowView.findViewById(R.id.titleView);
         holder.img=(ImageView) rowView.findViewById(R.id.imageView1);

     holder.tv2.setText(description[position]);
     holder.tv.setText(result[position]);
     holder.img.setImageResource(imageId[position]);

     rowView.setOnClickListener(new View.OnClickListener() {

         @Override
         public void onClick(View v) {

            Intent intent = new Intent(context, Lesson.class); 

            switch(position){                                                     
                case 0: intent.putExtra("Title", l1);                   
                case 1: intent.putExtra("Title", l2);                   
                case 2: intent.putExtra("Title", l3);                   
                case 3: intent.putExtra("Title", l4);                   
                case 4: intent.putExtra("Title", l5);                   
                case 5: intent.putExtra("Title", l6);                   
                case 6: intent.putExtra("Title", l7);                   
                case 7: intent.putExtra("Title", l8);                   
                case 8: intent.putExtra("Title", l9);                   
                case 9: intent.putExtra("Title", l10);

                context.startActivity(intent);          
            }                  
         }
    });

【问题讨论】:

  • 在每个案例后添加中断
  • 不要忘记在每个 case 语句中保留 break。
  • 并使用默认值,以防万一:)
  • 谢谢大家。现在正在工作

标签: android switch-statement


【解决方案1】:

你应该打破

     switch(position){                                                     
            case 0: intent.putExtra("Title", l1); break;                   
            case 1: intent.putExtra("Title", l2); break;                   
            case 2: intent.putExtra("Title", l3); break;                   
            case 3: intent.putExtra("Title", l4); break;                   
            case 4: intent.putExtra("Title", l5); break;                   
            case 5: intent.putExtra("Title", l6); break;                   
            case 6: intent.putExtra("Title", l7); break;                   
            case 7: intent.putExtra("Title", l8); break;                  
            case 8: intent.putExtra("Title", l9); break;                   
            case 9: intent.putExtra("Title", l10); break;
            default:
                Log.e("", "no case"); 
                return;                        
        }    
          context.startActivity(intent);  

【讨论】:

    【解决方案2】:

    你只要在你的程序中这样给出它只会给出一个函数......

    switch(position){                                                     
                case 0: intent.putExtra("Title", l1);    
                        break;             
                case 1: intent.putExtra("Title", l2); 
                        break; 
                case 2: intent.putExtra("Title", l3);
                        break; 
                case 3: intent.putExtra("Title", l4);                   
                        break; 
                case 4: intent.putExtra("Title", l5);                   
                        break; 
                case 5: intent.putExtra("Title", l6);                   
                        break; 
                case 6: intent.putExtra("Title", l7);   
                        break; 
                case 7: intent.putExtra("Title", l8);
                        break; 
                case 8: intent.putExtra("Title", l9);   
                        break; 
                case 9: intent.putExtra("Title", l10);
                        break; 
            }          
     context.startActivity(intent);             
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多