Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Cuda1
18 / 18 / 7
Регистрация: 08.10.2014
Сообщений: 98
#1

Получить картинку ImageView - Программирование Android

30.05.2015, 22:55. Просмотров 1942. Ответов 21
Метки нет (Все метки)

Здравствуйте. Подскажите пожалуйста как можно получить ссылку/путь на ресурс картинки которая стоит в ImageView? Перечитал много форумов, где-то сказали, что напрямую нельзя получить или вовсе невозможно. Как-то сомнительно.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2015, 22:55     Получить картинку ImageView
Посмотрите здесь:

ImageView не растягивает картинку - Программирование Android
Есть lyaout. На нем в RelativeLayout вставлена картинка ImageView. Этот элемент имеет ширину 4dp, а высота должна быть на весь layout (он...

ImageView не видит картинку - Программирование Android
При компиляции выдает ошибку в drawable есть изображение. В чем проблема??:wall: Error:Execution failed for task...

Вывести картинку из интернета в ImageView(android studio) - Программирование Android
Имеется класс ImageManager package com.example.myapplication4; import android.graphics.Bitmap; import...

Получить полный путь к картинке в ImageView - Программирование Android
Доброго времени суток! Помогите советом. Имеется ImageView c картинкой как получить полный путь к этой картинке. Изображение можно...

Получить доступ к ImageView в одном конкретном элементе ListView - Программирование Android
Есть layout элемента ListView <?xml version="1.0" encoding="utf-8"?> <LinearLayout...

из c# byte получить картинку - Программирование Android
Есть массив байтов приходит из веб сервиса Как из этого получить картинку? p.s. мучаюсь 2 дня нечего не получается... пробую...

Получить картинку из ресурсов - Программирование Android
Вот так приложение получает иконку: android:icon="@drawable/ic_launcher" Вопрос: Как получить картинку так-же, только программно и в...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
31.05.2015, 23:26     Получить картинку ImageView #2
Cuda1, здравствуйте!
Я вас не понял. Вы сами запрограммировали ImageView и не можете получить его ссылку?
Cuda1
18 / 18 / 7
Регистрация: 08.10.2014
Сообщений: 98
31.05.2015, 23:55  [ТС]     Получить картинку ImageView #3
CoolMind, в ImageView через атрибут android:scr установил картинку из ресурсов. Хотелось бы по клику на этот ImageView получить путь на эту картинку в ресурсах (т.е. например R.drawable.picture.png)
Mikalai
256 / 232 / 93
Регистрация: 11.01.2015
Сообщений: 653
01.06.2015, 00:04     Получить картинку ImageView #4
Изображения нужно размещать в папках mipmap-hdpi(4 штуки для разных размеров экрана). Если файл изображения имеет название "picture.png", то через ресурсы он будет доступен как - R.mipmap.picture - без ".png"
ILNAR_93
Android
219 / 219 / 22
Регистрация: 19.01.2013
Сообщений: 1,656
Записей в блоге: 3
01.06.2015, 08:47     Получить картинку ImageView #5
Cuda1,
Java
1
Bitmap bitmap = ((BitmapDrawable) ImgView.getDrawable()).getBitmap();
Cuda1
18 / 18 / 7
Регистрация: 08.10.2014
Сообщений: 98
01.06.2015, 09:13  [ТС]     Получить картинку ImageView #6
ILNAR_93, это я получу саму картинку. А мне хотелось бы получить путь в проекте, где она находится.
ILNAR_93
Android
219 / 219 / 22
Регистрация: 19.01.2013
Сообщений: 1,656
Записей в блоге: 3
01.06.2015, 10:24     Получить картинку ImageView #7
Cuda1, Можешь присваивать тэг (название картинки, адрес ресурса или т.п.) для ImageView потом считывать/менять его
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
01.06.2015, 11:04     Получить картинку ImageView #8
А у ImageView кто родитель?
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
01.06.2015, 11:11     Получить картинку ImageView #9
Цитата Сообщение от Cuda1 Посмотреть сообщение
это я получу саму картинку. А мне хотелось бы получить путь в проекте, где она находится.
А для чего это нужно то?
Cuda1
18 / 18 / 7
Регистрация: 08.10.2014
Сообщений: 98
01.06.2015, 11:18  [ТС]     Получить картинку ImageView #10
Spelcrawler, по нажатию на imgView у меня запускается активити с другими imageView. по нажатию на любой из них у меня считывается путь картинки и передается в первую активити для присвоения к imgView. Ну своего рода выбор такой происходит, какую картинку присваивать. Сделал так:
Java
1
2
3
4
5
public void onClick(View v) {
        switch (v.getId()){
            case R.id.imageView4: temp = v.getResources().
                    getIdentifier("com.packagename:drawable/pic_one", null, null);
                break;
Но такой код надо прописывать каждому ImageView, что неудобно. Хотелось бы универсальный способ для получения пути к ресурсу.
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
01.06.2015, 11:29     Получить картинку ImageView #11
Cuda1, Дак передавайте сразу drawable и его ставьте на фон.
Java
1
2
3
Drawable drawable = imageView.getDrawable();
..............
imageView.setDrawable(drawable);
Cuda1
18 / 18 / 7
Регистрация: 08.10.2014
Сообщений: 98
01.06.2015, 11:45  [ТС]     Получить картинку ImageView #12
Spelcrawler, а все равно приходиться прописывать код каждому imageView чтобы считать картинку.
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
01.06.2015, 12:11     Получить картинку ImageView #13
Зачем? Повесьте на все imageView один лисенер и в нем получайте drawable и передавайте.
Cuda1
18 / 18 / 7
Регистрация: 08.10.2014
Сообщений: 98
01.06.2015, 12:22  [ТС]     Получить картинку ImageView #14
Spelcrawler, а я так и сделал
Java
1
2
3
4
5
6
7
8
9
10
11
 first = (ImageView)rootView.findViewById(R.id.imageView4);
        second = (ImageView)rootView.findViewById(R.id.imageView5);
        third = (ImageView)rootView.findViewById(R.id.imageView6);
        first.setOnClickListener(this);
        second.setOnClickListener(this);
        third.setOnClickListener(this);
...
  @Override
    public void onClick(View v) {
            //вот здесь нужно прописать типа что-то v.getDrawable() но такого нет)
        }
но в методе клика надо как-то понять от какого ImageView нам надо получить картинку
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
01.06.2015, 12:25     Получить картинку ImageView #15
Ну дак конечно нет, у View нет такого метода. Нужно привести его к ImageView: ((ImageView) v).getDrawable();
Cuda1
18 / 18 / 7
Регистрация: 08.10.2014
Сообщений: 98
01.06.2015, 13:01  [ТС]     Получить картинку ImageView #16
Spelcrawler, пробовал передавать картинку по этому методу Как передать картинку через интент но почему - то в логах выдает Can't parcel a recycled bitmap
Bitmap возвращаю через
Java
1
setResult(RESULT_OK, answerIntent);
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
01.06.2015, 13:08     Получить картинку ImageView #17
Cuda1, скорее всего ошибка из-за того, что битмап уже удален из памяти т.к. активити закрыта. Можно попробовать посылать в интенте копию битмапа:
Java
1
Bitmap bmpCopy = bmpSource.copy(bmpSource.getConfig(), true);
Cuda1
18 / 18 / 7
Регистрация: 08.10.2014
Сообщений: 98
01.06.2015, 13:27  [ТС]     Получить картинку ImageView #18
Spelcrawler, спасибо, Вам за участие) но к сожалению это не сработало. Ну ладно, разобраться как передать картинку через интент я смогу) правда мне все же нужнее получить путь на ресурс.
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
01.06.2015, 14:26     Получить картинку ImageView #19
Cuda1, наткнулся случайно на интересный способ - можно установить каждому imageView id, равный id ресурса, не особо конечно и ошибки могут быть, но если записывать ресурс не в id, а в tag, как выше уже говорили должно сработать. Но все таки считаю, что лучше передавать сразу картинку, почему-то на мой взгляд это выглядит правильнее, но тут кому как)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2015, 14:36     Получить картинку ImageView
Еще ссылки по теме:

Наследование от ImageView - Программирование Android
Класс: public class AnimalView extends ImageView { private int AnimalType; public static final int DONKEY = 1; public...

Координаты imageView - Программирование Android
Доброго времени суток. Как программно установить координаты появления изображения? У меня есть метод onTouch, с него беру координаты...

Снова ImageView - Программирование Android
Значит, ситуация такая: создаю IV, ставлю в определённое место, запускаю покадровую анимацию. После анимации требуется нажать на...

Использование ImageView - Программирование Android
Установил Андроид Студио. Пытаюсь вникнуть. Наткнулся на первую проблемку, уже впринципе долговато не могу понять. На форму ложу...

Сохранить ImageView - Программирование Android
Подскажите пожалуйста, пытаюсь наложить bitmap на bitmap из imageview и сохранить его, код работает, но сохраненный файл получается...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Cuda1
18 / 18 / 7
Регистрация: 08.10.2014
Сообщений: 98
01.06.2015, 14:36  [ТС]     Получить картинку ImageView #20
Spelcrawler, c тегами немного не понял, а вот с установлением id действительно хитрое решение)
Yandex
Объявления
01.06.2015, 14:36     Получить картинку ImageView
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru