0

私は2つの活動A、Bを持っています

アクティビティ A からギャラリーを開きます。ギャラリーから写真を選択したときに、アクティビティ C ではなくアクティビティ B に移動する必要があります。

これは可能ですか??

share_picture.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub

                Intent choosePic = new Intent(Intent.ACTION_PICK,
                        MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                startActivityForResult(choosePic, LOAD_IMAGE_GALLERY);

            }
        });

    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        super.onActivityResult(requestCode, resultCode, data);

        if (requestCode == LOAD_IMAGE_GALLERY && resultCode == RESULT_OK
                && null != data) {
            Uri selectedImage = data.getData();
            String[] filePathColumn = { MediaStore.Images.Media.DATA };

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

            int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
            picturePath = cursor.getString(columnIndex);



//I  WANT TO CALL ACTIVITY B FROM HERE.. THAT AFTER THE PICTURE IS SELECTED IT SHOULD GO ON ACITIVITY B AND NOT ON A.



        }
    }

ありがとう

4

3 に答える 3

0

あなたはただあなたのonActivityResult()内側ActivtyAからインテントをActivityB通過するためにインテントを渡す必要がありますpicturePath

ActivityA.java

protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
 //Insert it once you got the picturePath through Content Resolver
 picturePath = cursor.getString(columnIndex);
 Intent forwardToB=new Intent(getApplicationContext(),ActivityB.class);
 forwardToB.putExtras("PATH",picturePath);
 startActivity(forwardToB);
 }

ActivityB.java

Intent i=getIntent();
String pathToImage=i.getStringExtra("PATH");

                OR

Bundle extras = this.getIntent().getExtras();
if (extras != null) 
{
 String value = extras.getString("PATH");
}

今、あなたは一度あなたの中にあることは何でもすることができpathToImageますActivityB

于 2013-01-05T08:11:52.393 に答える
0

onActivityResultの後にこのコードを書くだけですpicturePath = cursor.getString(columnIndex);

   // used to show HD images
  BitmapFactory.Options bounds = new BitmapFactory.Options();
  // divide bitmap to 4 sample size it can be 2rest(2,4,8 etc)
  bounds.inSampleSize = 4;
  // get bitmap from bounds and file path
  Bitmap bmp = BitmapFactory.decodeFile(filePath, bounds);
  imageView1.setImageBitmap(bmp);

ここでIntentコードを書きます

  Intent intent= new Intent(A.java,B.class);
  startActivity(intent);
于 2013-01-05T07:48:00.227 に答える
0

あなたのfilePathColumnを意図的に追加してください。ActivityC を終了します。そしてActivity意図的に B を呼び出します。

于 2013-01-05T07:40:34.457 に答える