Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
3 / 3 / 1
Регистрация: 19.11.2013
Сообщений: 40
1

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

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

Author24 — интернет-сервис помощи студентам
Есть 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.11.2013, 19:55
Ответы с готовыми решениями:

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

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

Как через LINQ-запрос получить доступ к информации находящейся в конкретном листе книги
Так я получаю доступ к Excel через VB.NET: Dim objExcel As New Excel.Application Dim...

Вывод ToolTip на конкретном элементе CheckedListBox
Есть сheckedListBox1 с, например, 10 элеменами-вариантами, то бишь 10 квадратиков для галочек. 1)...

5
Android Developer
131 / 131 / 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
216 / 216 / 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
3 / 3 / 1
Регистрация: 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
1162 / 986 / 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
3 / 3 / 1
Регистрация: 19.11.2013
Сообщений: 40
21.11.2013, 18:31  [ТС] 6
Цитата Сообщение от V0v1k Посмотреть сообщение
Java
1
parent.getAdapter().getItem(position);
А вот это уже интересно, спасибо, попробую
0
21.11.2013, 18:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.11.2013, 18:31
Помогаю со студенческими работами здесь

Получить доступ к ListView диспетчера задач
Пытаюсь получить ListView диспетчера задач в свою, но как это сделать? Нахожу HWND самого...

Получить доступ к данным, хранящимся на одном из основных разделов
У меня есть два раздела: расширенный(разделен на два логических, как раз на нем и стоит винда) и...

Получить доступ к проекту из другого проекта в одном решении
В решении Solution1 имеется несколько проектов: Project1, Project2. В Project1 имеется папка Forms...

Как получить доступ к информации определённой ячейки ListView
Здраствуйте, скажите пожайлуста, как получит доступ к информации определённой ячейки ListView? Хочу...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru