【问题标题】:switch case giving strange response within onActivityResult in android [closed]在android的onActivityResult中给出奇怪响应的开关案例[关闭]
【发布时间】:2012-10-03 10:10:10
【问题描述】:

我有一个活动,我在其中打开相机、语音和视频的意图。我正在使用 onActivityResult。但是当 onActivityResult 被调用时,我观察到一些非常奇怪的事情,switch case 中的所有情况都被调用意味着它在所有情况下都是 gng 。

这怎么可能。我 dpong 有什么问题吗? .

下面是我的代码

   protected void onActivityResult(int requestCode, int resultCode, Intent data) 
     {
      super.onActivityResult(requestCode, resultCode, data); 

       if(resultCode == RESULT_OK){




          switch(requestCode) { 

             case 1:

                Uri selectedImage = data.getData();
                System.out.println("selectedimage"+selectedImage);
                String[] filePathColumn = {MediaStore.Images.Media.DATA};

                Cursor cursor = getContentResolver().query(selectedImage,       filePathColumn, null, null, null);
                cursor.moveToFirst();

                int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
                String filePath = cursor.getString(columnIndex);
                cursor.close();


                yourSelectedImage = BitmapFactory.decodeFile(filePath);
                /* Now you have choosen image in Bitmap format in object "yourSelectedImage". You can use it in
                 *  way you want! */



                btn_img.setImageBitmap(yourSelectedImage);





        case 0:
            try {
                yourSelectedImage = (Bitmap) data.getExtras().get("data");
                btn_img.setImageBitmap(yourSelectedImage);
                System.out.println("try for 0"+yourSelectedImage);
            } catch (Exception e) {
                // TODO: handle exception
            }

        case 2:
            try {


                    System.out.println("ooookkkkkk");


                        System.out.println("SELECT_AUDIO");
                        Uri selectedImageUri = data.getData();
                        selectedPath = getPath(selectedImageUri);
                        try {
                            System.out.println("try for 2"+yourSelectedImage);
                             btn_img.setImageBitmap(yourSelectedImage);
                        } catch (Exception e) {
                            System.out.println("catch"+yourSelectedImage);
                            // TODO: handle exception
                        }
                        System.out.println("SELECT_AUDIO Path : " + selectedPath);
                       // doFileUpload();





            } catch (Exception e) {
                // TODO: handle exception
            }

        case 3:
            try {




                        System.out.println("SELECT_AUDIO");
                        Uri selectedImageUri = data.getData();
                        selectedPath = getPath(selectedImageUri);
                        try {
                            System.out.println("try for 3"+yourSelectedImage);
                             btn_img.setImageBitmap(yourSelectedImage);
                        } catch (Exception e) {
                            System.out.println("catch"+yourSelectedImage);
                            // TODO: handle exception
                        }
                        System.out.println("SELECT_AUDIO Path : " + selectedPath);
                       // doFileUpload();




            } catch (Exception e) {
                // TODO: handle exception
            }

        }


    }






}

【问题讨论】:

  • 在下一个案例之前中断
  • thanxxx 兄弟..我怎么能忘记这一点
  • 你在哪里破案?
  • Rahul 你忘记了基本的编程。请在每种情况下添加中断语句。
  • 我认为 rahul 忘了提到 break;在每个开关情况下.. 有时会发生

标签: java android android-activity switch-statement break


【解决方案1】:

在每个案例末尾添加break;并检查

switch(requestCode) { 
   case 1:
    //code
    break;
   case 2:
    //code
   break;
   .
   .
   default:

   break;
}

【讨论】:

    【解决方案2】:

    在每个 case 之后使用“break”语句。

    例如:

      switch(value)
        {
        case 1:
        //code..
        break;
    
        case 2:
        //code
        break;
        }
    

    【讨论】:

    • 抱歉,我在回答的时候没有看到你的回答。你的答案还没有出现。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    • 2013-02-15
    • 1970-01-01
    相关资源
    最近更新 更多