-3

カメラ、音声、ビデオのインテントを開くアクティビティがあります。onActivityResultを使用しています。しかし、onActivityResultが呼び出されているとき、私は非常に奇妙な何かを観察しています。switchcase内のすべてのケースが呼び出されているということは、すべてのケースでそのgngを意味します。

どうすれば可能ですか。何か問題がありますか?。

以下は私のコードです

   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
            }

        }


    }






}
4

2 に答える 2

12

break;すべてのケースの最後に追加して確認します

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

   break;
}
于 2012-10-03T10:11:41.340 に答える
4

各ケースの後に「break」ステートメントを使用します。

元:

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

    case 2:
    //code
    break;
    }
于 2012-10-03T10:13:18.333 に答える