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

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

Войти
Регистрация
Восстановить пароль
 
Sanu0074
58 / 58 / 2
Регистрация: 14.06.2010
Сообщений: 1,189
Записей в блоге: 5
#1

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

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

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

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

Android ImageView
Android Квадратный ImageView
Снова ImageView Android
Использование ImageView Android
Библиотека для зума ImageView Android
Android ImageView
Высвободить пямять для ImageView Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
JIyrApy
32 / 32 / 1
Регистрация: 22.08.2010
Сообщений: 243
17.07.2013, 17:08     Установка параметра для ImageView #2
А почему просто не сделать image.setOnClickListener(...) и все через сеттеры вставлять. Неужели нет подобных?
Wenceslaus
Android Developer
129 / 129 / 4
Регистрация: 05.07.2013
Сообщений: 205
17.07.2013, 17:09     Установка параметра для ImageView #3
Java
1
image.setTag(object);
где object - структура нужных параметров.
Sanu0074
58 / 58 / 2
Регистрация: 14.06.2010
Сообщений: 1,189
Записей в блоге: 5
17.07.2013, 17:11  [ТС]     Установка параметра для ImageView #4
Цитата Сообщение от JIyrApy Посмотреть сообщение
А почему просто не сделать:
Java
1
image.setOnClickListener(...)
И все через сеттеры вставлять. Неужели нет подобных
Потому что так очень много лысенеров будет, нужно чтоб был один который будет читать эти параметры....
Sanu0074
58 / 58 / 2
Регистрация: 14.06.2010
Сообщений: 1,189
Записей в блоге: 5
17.07.2013, 17:12  [ТС]     Установка параметра для ImageView #5
Цитата Сообщение от Wenceslaus Посмотреть сообщение
Java
1
image.setTag(object);
где object - структура нужных параметров.
А как примерно будет выглядеть этот object??
Всмысле как вбить в него эти параметры?
Wenceslaus
Android Developer
129 / 129 / 4
Регистрация: 05.07.2013
Сообщений: 205
17.07.2013, 17:18     Установка параметра для ImageView #6
Создаёте ImageParams, забиваете данными, устанавливаете к изображению, как тэг. Получить параметры - в обратном порядке.
Java
1
2
3
4
5
public class ImageParams {
    public String itemType;
    public int itemId;
    //и пр. нужные поля
}
Вы ViewHolder'ом пользовались? Аналогично..
Sanu0074
58 / 58 / 2
Регистрация: 14.06.2010
Сообщений: 1,189
Записей в блоге: 5
17.07.2013, 17:40  [ТС]     Установка параметра для ImageView #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() сделать?
Wenceslaus
Android Developer
129 / 129 / 4
Регистрация: 05.07.2013
Сообщений: 205
17.07.2013, 22:27     Установка параметра для ImageView #8
Цитата Сообщение от Sanu0074 Посмотреть сообщение
Вот так правильно будет?
Да, верно.

Цитата Сообщение от Sanu0074 Посмотреть сообщение
как правильно getTag() сделать?
Java
1
CData сData = (CData) image.getTag()
Sanu0074
58 / 58 / 2
Регистрация: 14.06.2010
Сообщений: 1,189
Записей в блоге: 5
18.07.2013, 00:26  [ТС]     Установка параметра для ImageView #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();
    }
Вот сам проект на всякий случай, вдруг опять запарил чтото помелочи...
Вложения
Тип файла: rar test.rar (3.03 Мб, 4 просмотров)
Wenceslaus
Android Developer
129 / 129 / 4
Регистрация: 05.07.2013
Сообщений: 205
18.07.2013, 10:46     Установка параметра для ImageView #10
Цитата Сообщение от Sanu0074 Посмотреть сообщение
image.setOnClickListener(this);
Я этой строки не увидел в проекте..

Цитата Сообщение от Sanu0074 Посмотреть сообщение
Таким способом не работает
Если нет всплывающего Toast'а (даже пустого), то проблема не в тэгах, а в обработчиках событий.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.07.2013, 10:51     Установка параметра для ImageView
Еще ссылки по теме:

Скопировать картинку из одной ImageView в другую ImageView Android
Android ImageView
Android Таблица из ImageView
Android Анимация ImageView
ImageView вращение Android

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

Или воспользуйтесь поиском по форуму:
Sanu0074
58 / 58 / 2
Регистрация: 14.06.2010
Сообщений: 1,189
Записей в блоге: 5
18.07.2013, 10:51  [ТС]     Установка параметра для ImageView #11
Цитата Сообщение от Wenceslaus Посмотреть сообщение
Если нет всплывающего Toast'а (даже пустого), то проблема не в тэгах, а в обработчиках событий.
Уже заработало)))) Поставил в онкликлысенере Main.this
Yandex
Объявления
18.07.2013, 10:51     Установка параметра для ImageView
Ответ Создать тему
Опции темы

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