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

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

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

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

17.07.2013, 16:14. Просмотров 927. Ответов 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
Посмотрите здесь:

Библиотека для зума ImageView - Программирование Android
https://github.com/jasonpolites/gesture-imageview почему эта либа в getX возвращает большое число? хотя должно быть около нуля, т.к...

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

Таблица из ImageView - Программирование Android
Как сделать 9 картинок 3х3, чтобы между ними не было отступов. Точнее я знаю как, вопрос в другом. Как указать android:layout_height...

Массив из ImageView - Программирование Android
Подскажите как создать массив из ImageView? Пытался сделать так: RelativeLayout l=(RelativeLayout)findViewById(R.id.RelativeLayout1); ...

SurfaceView поверх ImageView - Программирование Android
До этого вместо Surface использовался обычный View и Canvas в нём, но потребовалась анимация. Просто в background картинку засунуть не...

Запретить смещение ImageView - Программирование Android
Доброго времени суток всем. Перейду сразу к сути, имеется несколько TextView, textView по клику выводят несколько ImageView. но при...

Drawable поверх imageView - Программирование Android
Возможно не правильно назвал топик, но все же. Есть imageView с картинкой (Bitmap). Нужно наложить поверх этой картинки drawable...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
JIyrApy
32 / 32 / 1
Регистрация: 22.08.2010
Сообщений: 251
17.07.2013, 17:08     Установка параметра для ImageView #2
А почему просто не сделать image.setOnClickListener(...) и все через сеттеры вставлять. Неужели нет подобных?
Wenceslaus
Android Developer
130 / 130 / 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
130 / 130 / 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
130 / 130 / 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
130 / 130 / 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 - Программирование Android
Здравствуйте! Подскажите как проще всего закруглить углы у ImageView?, лучше через xml, можно ли это сделать через Material Design, много...

Помогите передвинуть ImageView - Программирование Android
В main.xml есть ImageView. Вот он: <ImageView android:id="@+id/image" android:layout_width="wrap_content" ...

ImageView открыть в Галерее - Программирование Android
Есть ImageView. Нужно, чтобы при нажатии на него картинка в нём открывалась через Галерею

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

Двойное нажатие на ImageView - Программирование Android
Как реализовать метод двойного нажатия на ImageView ? Добавлено через 4 минуты p.s. По быдлоскому и сам могу :) Может есть...


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

Или воспользуйтесь поиском по форуму:
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
Ответ Создать тему
Опции темы

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