2017-10-17 4 views
0

장치 갤러리에서 그림을 선택하는 코드가 있습니다. 코드는 제가 사용했던 것과 같습니다.갤러리에서 그림을 선택한 후 그림을 다른 페이지에 표시하고 싶습니다.

Intent getintent = new Intent(Intent.ACTION_GET_CONTENT); 
    getintent.setType("image/*"); 

    Intent pickintent = new Intent(Intent.ACTION_PICK, 
    MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
    pickintent.setType("image/*"); 

    Intent chooserintent = Intent.createChooser(getintent, "Select Image"); 
    chooserintent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[] {pickintent}); 
    startActivityForResult(chooserintent, SELECT_PICTURE); 
    chooserintent.putExtra("data", SELECT_PICTURE); 

다른 의도로 사진을 보내려면 사진을 추가 할 수 있습니까? 이 코드는 제 2 번째 페이지에서 제 1 작업에서 선택하는 그림을 보여줍니다.

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_showpic2); 

    findViewById(R.id.imageButton); // Replace with id of your button. 
    Intent intent = getIntent(); 
    Bitmap gambar = intent.getData("data"); 
    ImageView imageView = (ImageView) findViewById(R.id.imageView); 
    imageView.setImageBitmap(gambar); 
} 

이 코드에 오류가 발생합니다. 누군가 도와 줄 수 있습니까? 고마워요 !! 나쁜 영어로 죄송합니다.

+0

문제가 계속에 대한 코드를 제공 존재하는 경우, 대신에 전체 비트 맵의 ​​또 다른 한 활동에서 이미지의 URI를 보내 주시기 바랍니다 이미지를 보내십시오 –

+0

매니페스트에 일부 장치에서 열린 코드를 추가했습니다 galary 또는 이미지를 닫은 페이지 나 뒤로 페이지로 리디렉션 한 후 안드로이드에 도달 한 것 같습니다 : configChanges = "orientation | screenSize" – Amitsharma

+0

이것은 매니페스트에이 줄을 쓸 때 생성되는 문제입니다. 갤러 리나 카메라 코드를 얻기 위해 최신 코드를 수집해야합니다. 사진 개발자를위한 새로운 방법 읽기 Android 개발자 블로그 – Amitsharma

답변

1

실제 이미지의 비트 맵을 인 텐트 트에 넣을 필요는 없습니다. 갤러리에서 돌아 오신 후 Uri이 주어집니다. 이 URI는 선택한 이미지를 가리 킵니다. 이 이미지를 다른 활동에 표시하려면 에만 두 번째 활동을 전달해야합니다.

먼저 활동의

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if(requestCode == REQ_ID && resultCode == RESULT_OK && data != null){ 
     Uri uri = data.getData(); 
     Intent intent = new Intent(context, SecondActivity.class); 
     intent.putExtra("imageUri", uri); 
     startActivity(intent); 
    } 
} 

와의 onActivityResult 두 번째 활동의 onCreate

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_showpic2); 

    Uri uri = intent.getParcelableExtra("imageUri"); 
    ImageView imageView = (ImageView) findViewById(R.id.imageView); 
    imageView.setImageUri(uri); 
} 
+1

이것은 받아 들여진 대답 일 것입니다. –

관련 문제