Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Sanu0074
58 / 58 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
1

Установка параметра для ImageView

17.07.2013, 16:14. Просмотров 1034. Ответов 10
Метки нет (Все метки)

Доброго времени суток!

Я динамически создаю изображения:
Java
1
2
ImageView image = new ImageView(this);
         layout.addView(image);
Мне нужно повесить на данный ImageView несколько параметров, например itemType="application" и itemId="56"
Это нужно для того, чтобы повесить на эти ImageView - онкликлысенер, который будет считывать эти параметры и передавать их в другое activity. Как это сделать?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.07.2013, 16:14
Ответы с готовыми решениями:

Скопировать картинку из одной ImageView в другую ImageView
В ImageView поставлена картинка методом setImageResource. По нажатию на неё,...

Высвободить пямять для ImageView
Подскажите, хочу высвободить память от переменой play ,но у меня recycle();...

Библиотека для зума ImageView
https://github.com/jasonpolites/gesture-imageview почему эта либа в getX...

ImageView
Добрый день ! Делал проект с нуля, все как обычно, но при поиске id для...

ImageView
Добрый день. Вы не подскажите, как передать изображение из одного ImageView в...

10
JIyrApy
34 / 34 / 2
Регистрация: 22.08.2010
Сообщений: 262
17.07.2013, 17:08 2
А почему просто не сделать image.setOnClickListener(...) и все через сеттеры вставлять. Неужели нет подобных?
0
Wenceslaus
Android Developer
130 / 130 / 6
Регистрация: 05.07.2013
Сообщений: 205
17.07.2013, 17:09 3
Java
1
image.setTag(object);
где object - структура нужных параметров.
1
Sanu0074
58 / 58 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
17.07.2013, 17:11  [ТС] 4
Цитата Сообщение от JIyrApy Посмотреть сообщение
А почему просто не сделать:
Java
1
image.setOnClickListener(...)
И все через сеттеры вставлять. Неужели нет подобных
Потому что так очень много лысенеров будет, нужно чтоб был один который будет читать эти параметры....
0
Sanu0074
58 / 58 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
17.07.2013, 17:12  [ТС] 5
Цитата Сообщение от Wenceslaus Посмотреть сообщение
Java
1
image.setTag(object);
где object - структура нужных параметров.
А как примерно будет выглядеть этот object??
Всмысле как вбить в него эти параметры?
0
Wenceslaus
Android Developer
130 / 130 / 6
Регистрация: 05.07.2013
Сообщений: 205
17.07.2013, 17:18 6
Создаёте ImageParams, забиваете данными, устанавливаете к изображению, как тэг. Получить параметры - в обратном порядке.
Java
1
2
3
4
5
public class ImageParams {
    public String itemType;
    public int itemId;
    //и пр. нужные поля
}
Вы ViewHolder'ом пользовались? Аналогично..
1
Sanu0074
58 / 58 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
17.07.2013, 17:40  [ТС] 7
Цитата Сообщение от Wenceslaus Посмотреть сообщение
Вы ViewHolder'ом пользовались? Аналогично..
ViewHolder'ом не пользовался.....

Вот так правильно будет?

Java
1
2
3
4
5
6
7
8
9
10
11
12
public class CData {
public String itemTypel;
public int itemId;
}
 
CData cData = new CData();
cData.itemType = "application";
cData.itemId = 56;
 
ImageView image = new ImageView(this);
image.setTag(cData);
layout.addView(image);
И как правильно getTag() сделать?
0
Wenceslaus
Android Developer
130 / 130 / 6
Регистрация: 05.07.2013
Сообщений: 205
17.07.2013, 22:27 8
Цитата Сообщение от Sanu0074 Посмотреть сообщение
Вот так правильно будет?
Да, верно.

Цитата Сообщение от Sanu0074 Посмотреть сообщение
как правильно getTag() сделать?
Java
1
CData сData = (CData) image.getTag()
1
Sanu0074
58 / 58 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
18.07.2013, 00:26  [ТС] 9
Цитата Сообщение от Wenceslaus Посмотреть сообщение
Да, верно.


Java
1
CData сData = (CData) image.getTag()
А как правильно в этот проект добавить общий onClickListener, чтобы он прослушивал все картинки и мог читать параметры с помощью getTag()??

Добавлено через 25 минут
Я сделал так, добавил:
Java
1
public class Main extends Activity implements OnClickListener{
и потом здесь так сделал:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    public void rec(String imageLnk, String name) 
    { 
        LinearLayout layout = (LinearLayout) findViewById(R.id.mainLinear);
 
        LinearLayout imageLayout = new LinearLayout(this);
        
        TextView txt = new TextView(this); 
        txt.setText(name); 
        txt.setTextSize(18);
        
        ImageView image = new ImageView(this);
        CData cData = new CData();
        cData.itemType = "application";
        cData.itemId = 56;
        cData.name = name;
        image.setTag(cData);
        layout.addView(image);
        image.setOnClickListener(this);
        imageLayout.addView(image);
        
        layout.addView(txt);
        layout.addView(imageLayout);
         
        new DownloadImageTask(image).execute(imageLnk);
    }
И теперь как мне тут, получить значения с помощью getTag() у картинки по которой кликнули?

Таким способом не работает:
Java
1
2
3
4
5
6
7
@Override
        public void onClick(View v) {
        // TODO Auto-generated method stub
        CData сData = (CData) v.getTag();
        
        Toast.makeText(this, сData.name.toString(), Toast.LENGTH_SHORT).show();
    }
Вот сам проект на всякий случай, вдруг опять запарил чтото помелочи...
0
Вложения
Тип файла: rar test.rar (3.03 Мб, 4 просмотров)
Wenceslaus
Android Developer
130 / 130 / 6
Регистрация: 05.07.2013
Сообщений: 205
18.07.2013, 10:46 10
Цитата Сообщение от Sanu0074 Посмотреть сообщение
image.setOnClickListener(this);
Я этой строки не увидел в проекте..

Цитата Сообщение от Sanu0074 Посмотреть сообщение
Таким способом не работает
Если нет всплывающего Toast'а (даже пустого), то проблема не в тэгах, а в обработчиках событий.
1
Sanu0074
58 / 58 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
18.07.2013, 10:51  [ТС] 11
Цитата Сообщение от Wenceslaus Посмотреть сообщение
Если нет всплывающего Toast'а (даже пустого), то проблема не в тэгах, а в обработчиках событий.
Уже заработало)))) Поставил в онкликлысенере Main.this
0
18.07.2013, 10:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.07.2013, 10:51

ImageView
Подскажите как правильно выводить картинку из URL Вроде нашел какой то пример...

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

Массив из ImageView
Подскажите как создать массив из ImageView? Пытался сделать так:...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

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