Как передать изображение с камеры на другой вид деятельности? - PullRequest
0 голосов
/ 11 сентября 2018

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

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_fazer_perguntas);
        photoCamera = (RelativeLayout) findViewById(R.id.photoCamera);

        photo = (ImageView) findViewById(R.id.photo);
        photo2 = (ImageView) findViewById(R.id.photo2);
        photo3 = (ImageView) findViewById(R.id.photo3);

        photoCamera.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent camera = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
                startActivityForResult(camera,0);
            }
        });

        photo.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent p = new Intent(getApplicationContext(),BigPhoto.class);
                p.putExtra("idphoto",photo.getId());
                p.putExtra("idphoto2",photo2.getId());
                p.putExtra("idphoto3",photo3.getId());
                startActivity(p);
            }
        });
        {
         @Override
    protected void onActivityResult (int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (resultCode == RESULT_OK) {
            Bitmap bitmap = (Bitmap)data.getExtras().get("data");
        photo.setImageBitmap(bitmap);
        Intent selfiSrc = new Intent(this, BigPhoto.class);
        selfiSrc.putExtra("data",bitmap);
        startActivity(selfiSrc); 
        }

    }
}

Это часть моего устойчивого класса Java.фото2 и фото3 - это другие изображения, которые я сделаю для фотографии так же.

package com.example.ritalopes.help;

import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;

public class BigPhoto extends AppCompatActivity {

    ImageView photo, photo2, photo3, bigphoto;
    private Uri path;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_big_photo);

        photo = (ImageView) findViewById(R.id.photo);
        photo2 = (ImageView) findViewById(R.id.photo2);
        photo3 = (ImageView) findViewById(R.id.photo3);
        bigphoto = (ImageView) findViewById(R.id.bigphoto);

        Intent pho = getIntent();
        int image1 = pho.getIntExtra("idphoto",0);
        int image2 = pho.getIntExtra("idphoto2",0);
        int image3 = pho.getIntExtra("idphoto3",0);

        Intent take = getIntent();
        Bitmap bitmap = (Bitmap) take.getParcelableExtra("data");

       bigphoto.setImageBitmap(bitmap);

    }}

Это мой второй javaclass, где я хочу передать изображение (я).Я попробовал этот код, включающий Uri, но ничего не получилось.Заранее спасибо за ваши ответы.

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

, если ваша цель - отправить изображение для предварительного просмотра изображения в другом упражнении. Я рекомендую вам попробовать использовать эту библиотеку. просто добавьте его в свой файл Gradle в вашем проекте.

https://github.com/chathuralakmal/AndroidImagePopup

эта библиотека изображений для предварительного просмотра использует библиотеку Picasso, чтобы вы могли показать, что ваш предварительный просмотр настолько прост. и он также содержит кнопку закрытия для вас.

это поможет мне, надеюсь, это сэкономит вам время.

0 голосов
/ 11 сентября 2018

Ваш код не очень понятен ...

Сначала вы должны добавить OnClickListener для всех изображений, а не только для photo Затем вы должны передать дополнительные данные в Intent, как вымы сделали.Но не передавайте идентификатор imageView, а идентификатор для рисования, который вы хотите показать в полноэкранном режиме.

Хотите ли вы отобразить изображения для рисования?Или растровые изображения?Если растровое изображение, я думаю, intent.putExtra("data", bitmap) будет работать, так как растровое изображение является Parcelable.

...