2017-11-20 2 views
0

を使用してImageViewの画像をAndroidの別のアクティビティに渡すにはどうすればいいですか?Kotlinを使用してImageViewからAndroidの別のアクティビティに画像を渡す

これは内部ストレージを使用してImageView内の画像を選択するための方法であると私は別のアクティビティ

fun Loadimage() 
    { 
     var intent = Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI) 
     startActivityForResult(intent,ImageCode) 
    } 

    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { 
     super.onActivityResult(requestCode, resultCode, data) 
     if (requestCode==ImageCode && data!=null && resultCode== Activity.RESULT_OK) 
     { 
      val selectedImage = data.data 
      val filepath = arrayOf(MediaStore.Images.Media.DATA) 
      val cursor = contentResolver.query(selectedImage,filepath,null,null,null) 
      cursor.moveToFirst() 
      val Index = cursor.getColumnIndex(filepath[0]) 
      val Picture = cursor.getString(Index) 
      cursor.close() 
      imageView.setImageBitmap(BitmapFactory.decodeFile(Picture)) 
     } 
    } 
+1

イメージを他のアクティビティに渡さず、そのイメージへのパスだけを渡し、そのパスを処理してターゲットアクティビティの 'onCreate()'メソッド内でファイルをビットマップに変換します –

答えて

2

に画像を渡す必要がありますあなたは

以下のようなインテントを使用して、次のアクティビティに Picture変数を渡すことができます

val intent = Intent(this, NextActivity::class.java) 
intent.putExtra("picture", Picture) 
startActivity(intent) 
はその後NextActivityで、 onCreate方法では、あなたが使用して画像を得ることができます

val Picture = getIntent().getStringExtra("picture") 
+0

インテントを使用して大きなデータセットを渡すことはありません。代わりにイメージURIを渡します。 –

+0

@ VincentMimoun-Prat Pictureは単なるURIです。彼のコードを見てください。画像は、画像のURIを格納するために使用される変数です。 –

+0

正解。ごめんなさい。あなたの答えを編集しない限り、投票を元に戻すことはできません。 –

関連する問題