2015-11-04 1 views
0

Это первый раз, когда я работаю с изображениями.Отправка выбранного изображения из галереи в другую деятельность

Я создал мероприятие, в котором я собирал изображение из галереи, и хочу, чтобы это изображение было передано следующему действию при нажатии кнопки.

Пожалуйста, помогите мне с кодом.

+0

Просто нужно передать файл URL для следующей операции через Намерение статистов, но, пожалуйста, попробуйте и оставьте свой код до , – Nanoc

ответ

0

О возможном подходе будет:

1 - хранить изображение или URL изображения после того, как вы получите его на onActivityResult()

2 - Внутри вашей кнопки он OnClickListener() поместить дополнительный (в случае, если у вас уже есть растровое изображение) в ваших намерениях.

button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Intent i = new Intent(CurrentActivity.this, NewActivity.class); 
      i.putExtra("image", yourImage); 
      CurrentActivity.this.startActivity(i); 
     } 
    }); 

3 - Получить дополнительную информацию о новой деятельности (внутри onCreate()).

Intent intent = getIntent(); 

    if (intent.getExtras() != null){ 
     loadedImage = intent.getParcelableExtra("image"); 
    } 
+0

Изображение должно быть выбрано из галереи. Его не помещают в Drawable. –

+0

Да, я это понял. Но когда вы просматриваете галерею и выбираете изображение, вы обрабатываете результирующие данные в 'protected void onActivityResult (int requestCode, int resultCode, Intent imageReturnedIntent) { super.onActivityResult (requestCode, resultCode, imageReturnedIntent);}'. Я предполагаю, что это уже сделано. Всякий раз, когда вы достигаете этого, вы собираете результирующий URL-адрес (выбранный URL-адрес изображения), а затем можете получить изображение. После этого вы следуете тому, что я сказал в ответ, и оно будет работать –

0

Простым решением будет передача объектов URI через Intent.

Первая активность:

Uri imageUri = /* This is the URI you've gotten from gallery */ 
Intent intent = new Intent(FirstActivity.this, SecondActivity.class); 
intent.putExtra("image-uri", imageUri.toString()); 
startActivity(intent); 

Вторая активность:

Intent intent = getIntent(); 
Uri imageUri = Uri.parse(intent.getStringExtra("image-uri")); 
/* Do something with imageUri */ 
0

Сначала нужно создать растровое изображение из вашего ImageView изображения

BitmapDrawable drawable = (BitmapDrawable) imageView.getDrawable(); 
Bitmap bitmap = drawable.getBitmap(); 

Во-вторых, передать растровое изображение на другой вид деятельности с помощью намерения

Intent intent = new Intent(this, NewActivity.class); 
intent.putExtra("BitmapImage", bitmap); 

и, наконец, в своей новой деятельности получить растровый от намерения и установить его в ImageView

Intent intent = getIntent(); 
Bitmap bitmap = (Bitmap) intent.getParcelableExtra("BitmapImage"); 
imageView.setBitmap(bitmap);