Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
aply
0 / 0 / 0
Регистрация: 19.11.2013
Сообщений: 40
1

Получить доступ к ImageView в одном конкретном элементе ListView

19.11.2013, 19:55. Просмотров 1070. Ответов 5
Метки нет (Все метки)

Есть layout элемента ListView

XML
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    > 
    <ImageView 
        android:id="@+id/ImageItem" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        /> 
</LinearLayout>
С помощью своего адаптера заполняю с список картинками из drawable посредством массива:
Java
1
Integer[] images = {R.drawable.img1, R.drawable.img2}
Далее создаю адаптер. И привязываю его к ListView

Java
1
2
3
list = (ListView) findViewById(R.id.framelistView);
list.setAdapter(adapter);
list.setOnItemClickListener(onItemClickListener);
Ниже описываю листнер, но не знаю, что в нем писать, чтобы при нажатии на элемент списка, получить именно ту картинку, на которую я нажал, и сохранить её в битмап?:

Java
1
2
3
4
5
6
7
8
9
10
OnItemClickListener onItemClickListener = new OnItemClickListener() {
 
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position,
                long id) {
            // TODO Auto-generated method stub
                        
        }
        
    };
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2013, 19:55
Ответы с готовыми решениями:

Получить доступ к TextView внутри ListView
Привет, форумчане! Сначала кратко(потребуется код выложу, просто нужно понять...

TextView в элементе ListView
Имеется ListView, у него как положена имеется кастомный адаптер с довольно...

Клик по кнопке в элементе listView
Доброго времени суток. Пишу свое первое приложение под андроид. На данный...

Как обработать нажатие на изображение в элементе listView?
Как все знают, listView делится на множество элементов, нажатия на них можно...

При нажатии на элемент ListView вывести новое Activity с информацией об этом элементе
Здравствуйте! Помогите пожалуйста! В общем есть список ListView с названиями...

5
Wenceslaus
Android Developer
130 / 130 / 6
Регистрация: 05.07.2013
Сообщений: 205
19.11.2013, 20:19 2
aply,
Java
1
2
3
4
5
6
7
8
9
OnItemClickListener onItemClickListener = new OnItemClickListener() {
 
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position,
                long id) {
                Bitmap bm = BitmapFactory.decodeResource(getResources(), images[position]); // images - ваш массив, position - номер выбранного элемента
        }
        
};
1
NiRamz
211 / 211 / 33
Регистрация: 26.12.2010
Сообщений: 691
19.11.2013, 20:20 3
Java
1
2
3
4
5
6
7
8
9
10
OnItemClickListener onItemClickListener = new OnItemClickListener() {
 
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position,
                long id) {
            // TODO Auto-generated method stub
            Bitmap bm = BitmapFactory.decodeResource(context.getResources(), images[position]);                       
        }
        
    };
Добавлено через 25 секунд

Не по теме:

Опередили :)

0
aply
0 / 0 / 0
Регистрация: 19.11.2013
Сообщений: 40
19.11.2013, 20:58  [ТС] 4
Wenceslaus, тогда придется описывать массив за пределами метода onCreate моей Активити.
Это, в принципе, не страшно.. но что-то не нравится.
И мне это кажется слишком процедурным, что ли))
Хотелось бы чего-то такого объектного.
У меня же передается в onItemClick view нажатого элемента. Надо как-то от него оттолкнуться.

Пока нашел такой вариант:

Java
1
2
3
4
5
6
7
8
9
10
11
    OnItemClickListener onItemClickListener = new OnItemClickListener() {
 
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position,
                long id) {
            // TODO Auto-generated method stub
            ImageView imageview = (ImageView)view.findViewById(R.id.ImageItem);
            BitmapDrawable drawable = (BitmapDrawable) imageview.getDrawable();
            Bitmap bitmap= drawable.getBitmap();
        }       
    };
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
20.11.2013, 02:12 5
Цитата Сообщение от aply Посмотреть сообщение
Wenceslaus, тогда придется описывать массив за пределами метода onCreate моей Активити.
Это, в принципе, не страшно.. но что-то не нравится.
Java
1
adapter.getItem(position);
или
Java
1
parent.getAdapter().getItem(position);
1
aply
0 / 0 / 0
Регистрация: 19.11.2013
Сообщений: 40
21.11.2013, 18:31  [ТС] 6
Цитата Сообщение от V0v1k Посмотреть сообщение
Java
1
parent.getAdapter().getItem(position);
А вот это уже интересно, спасибо, попробую
0
21.11.2013, 18:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2013, 18:31

Получить картинку ImageView
Здравствуйте. Подскажите пожалуйста как можно получить ссылку/путь на ресурс...

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

ListView: сбивается содержимое ImageView элемента при скроллинге + как сделать выделение пункта списка при нажатии?
1. Есть свой класс ContactsSimpleCursorAdapter, в методе public void...


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

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

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