Передача ImageView из одного действия в другое

Я пытался создать приложение для Android с интеграцией Adobe Creative SDJ, но столкнулся с некоторыми проблемами.

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

storage/emulated/0/Pictures/myAppName/myImage.jpg

Он также должен отображаться в ImageView в том же действии, но не отображается. В другом упражнении я интегрировал пользовательский интерфейс ImageEditing творческого SDK от Adobe, которому требуется imageUri в качестве входного изображения.

Вот мои коды для отображения изображения в ImageView:

@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
        // camera codes 
        String path = "storage/emulated/0/Pictures/Touch/touch.jpg";
        resultImageView.setImageDrawable(Drawable.createFromPath(path));

        // gallery codes
        if (resultCode == RESULT_OK && requestCode == PICK_IMAGE){
            imageUri = data.getData();
            resultImageView.setImageURI(imageUri);
        }
    }

Как я могу преобразовать ImageView в Uri и отправить его следующему действию? Заранее спасибо!


person Curve Developers    schedule 09.06.2016    source источник
comment
покажите свой код, как вы показываете изображение в ImageView   -  person ρяσѕρєя K    schedule 09.06.2016
comment
@Override protected void onActivityResult (int requestCode, int resultCode, Intent data) {// коды камеры String path = storage / emulated / 0 / Pictures / Touch / touch.jpg; resultImageView.setImageDrawable (Drawable.createFromPath (путь)); // коды галереи if (resultCode == RESULT_OK && requestCode == PICK_IMAGE) {imageUri = data.getData (); resultImageView.setImageURI (imageUri); }}   -  person Curve Developers    schedule 09.06.2016
comment
Кривая, изображение видно в ImageView или нет?   -  person ρяσѕρєя K    schedule 09.06.2016
comment
а также отправьте imageUri в следующее действие для доступа к тому же изображению   -  person ρяσѕρєя K    schedule 09.06.2016
comment
изображение при выборе из галереи видно, но не при захвате с камеры   -  person Curve Developers    schedule 09.06.2016
comment
Вы можете использовать фрагмент. Я думаю, что это будет проще, чем два занятия, Мои два цента, все равно не стоят двух центов :)   -  person MNM    schedule 09.06.2016
comment
@MNM спасибо за комментарий .. Могу ли я получить подсказку о кодах для использования во фрагменте ..   -  person Curve Developers    schedule 09.06.2016
comment
попробуйте tutorialspoint.com/android/android_fragments.htm Я не использовал фрагменты лично, но я видел, как их использовали, и они выглядят неплохо для того, что вы делаете   -  person MNM    schedule 09.06.2016
comment
также я нашел это для вас, это может помочь дать вам другой вариант того, что делать stackoverflow.com/questions/4208886/   -  person MNM    schedule 09.06.2016
comment
Вы даете жестко запрограммированный путь к изображению, по которому щелкнула камера .. ????   -  person Pranita    schedule 09.06.2016
comment
@prakshi да, я даю жестко запрограммированный путь   -  person Curve Developers    schedule 09.06.2016
comment
@MNM спасибо за ссылку .. позаботимся об этом ..   -  person Curve Developers    schedule 09.06.2016


Ответы (1)


Я думаю, что вы неправильно делаете код камеры. как вы говорите, код вашей галереи работает нормально. попробуйте следующее:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    try{
        if (resultCode == Activity.RESULT_OK) {
            if (requestCode == 0) {
                //taking clicked image from Intent of activity
                Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
                ByteArrayOutputStream bytes = new ByteArrayOutputStream();

                File destination = new File(Environment.getExternalStorageDirectory(),
                        System.currentTimeMillis() + ".jpg");//storing image 

                FileOutputStream fo;
                try {
                    destination.createNewFile();
                    fo = new FileOutputStream(destination);
                    fo.write(bytes.toByteArray());
                    fo.close();
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
 //adding clicked image to ImageView
 imgClicked.setImageBitmap(thumbnail);

Надеюсь, что это поможет вам..:-)

person Pranita    schedule 09.06.2016
comment
Спасибо! Попробую это - person Curve Developers; 09.06.2016