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

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

Войти
Регистрация
Восстановить пароль
 
androbro
326 / 286 / 60
Регистрация: 17.10.2014
Сообщений: 843
#1

Клик по айтему элемента ListView - Программирование Android

22.10.2014, 15:05. Просмотров 812. Ответов 9
Метки нет (Все метки)

Добрый день товарищи.
Есть необходимость отследить нажатие на элемент элемента ListView, извиняюсь за тавтологию.

Вот пока лишь такое возможно лишь по второму клику на элементе:
Кликните здесь для просмотра всего текста
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
26
27
 LV.setOnItemClickListener(new OnItemClickListener(){
            
            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {
                // TODO Auto-generated method stub
                
                TextView tv = (TextView)view.findViewById(R.id.am_tv_product);
                tv.setOnClickListener(new OnClickListener(){
                    @Override
                    public void onClick(View v) {
                        // TODO Auto-generated method stub
                        Toast.makeText(this,"Текст1 элемента№"+pos, Toast.LENGTH_SHORT).show();
                    } 
                });
                
                TextView tv2 = (TextView)view.findViewById(R.id.am_tv_cell);
                tv2.setOnClickListener(new OnClickListener(){
                    @Override
                    public void onClick(View v) {
                        // TODO Auto-generated method stub
                        Toast.makeText(this,"Текст2 элемента№"+pos, Toast.LENGTH_SHORT).show();
                    } 
                });
                
            } 
        });

Необходимо при этом получать позицию элемента ListView.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2014, 15:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Клик по айтему элемента ListView (Программирование Android):

Не обрабатывается клик по позиции ListView - Программирование Android
Создан листвью через симпладаптер. В основе лежит лайот с двумя текстовыми полями. Кликаю по позиции в списке, а идешка кликнутой позиции...

Клик по кнопке в элементе listView - Программирование Android
Доброго времени суток. Пишу свое первое приложение под андроид. На данный момент получаю листвью, в каждом поле которого отображаются 4...

Замена элемента в ListView - Программирование Android
Доброго времени суток, форумчане! Столкнулся с проблемой есть ListView у которого все элементы это TextView, как запрограммировать чтобы...

выделение элемента в ListView - Программирование Android
Подскажите, что я делаю не так? У меня в кастомном диалоге создается и заполняется список, при его отображении необходимо чтоб по умолчанию...

Скрытие элемента ListView - Программирование Android
Заполняю своим адаптером, унаследованным от BaseAdapter. В качестве item использую свой класс который имеет поле isEnable - если оно равно...

Оформление элемента списка ListView - Программирование Android
Здравствуйте. Подскажите, как можно добиться результата, показанного на рисунке 1 (это в Paint подрисовано :) ) У меня сейчас выглядит...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Sonyk91
110 / 111 / 4
Регистрация: 01.10.2012
Сообщений: 1,923
Завершенные тесты: 1
22.10.2014, 15:11 #2
androbro, попробуйте
Java
1
view.setSelected(true);
0
androbro
326 / 286 / 60
Регистрация: 17.10.2014
Сообщений: 843
22.10.2014, 15:19  [ТС] #3
Sonyk91,
Цитата Сообщение от Sonyk91 Посмотреть сообщение
view.setSelected(true);
Никаких результатов.
0
Sonyk91
110 / 111 / 4
Регистрация: 01.10.2012
Сообщений: 1,923
Завершенные тесты: 1
22.10.2014, 15:33 #4
androbro, а адаптер вы настраивали?..
0
androbro
326 / 286 / 60
Регистрация: 17.10.2014
Сообщений: 843
22.10.2014, 15:36  [ТС] #5
здесь используется simple adapter...по всей видимости придется реализовывать custom'ный
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
23.10.2014, 09:34 #6
Цитата Сообщение от androbro Посмотреть сообщение
Необходимо при этом получать позицию элемента ListView.
а разве position это не есть оно?
0
androbro
326 / 286 / 60
Регистрация: 17.10.2014
Сообщений: 843
23.10.2014, 11:30  [ТС] #7
Rube,
Цитата Сообщение от Rube Посмотреть сообщение
position
это конечно позиция.
На данный момент, нам необходимо нажать на элемент ListView(создаются слушатели), и только по второму нажатию на элемент уже отлавливается нажатие на TextView.
Хотелось бы что бы при первом же нажатии на элемент ListView отлавливалось нажатие на TextView.
0
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
25.10.2014, 00:21 #8
androbro,зачем тебе в listener'е списка создавать listener TextView, если listener списка сам возвращает идентификатор нажатого в данный момент view в его составе?
Просто смотри какой TextView подвергся атаке

Шото типа
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    LV.setOnItemClickListener(new OnItemClickListener(){
        
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            // TODO Auto-generated method stub
            
            switch (view.getId()) {
 
              case (R.id.am_tv_product): 
                    Toast.makeText(getBaseContext(),"Текст1 элемента№"+position, 
                                           Toast.LENGTH_SHORT).show();
                     break;
                 
               case (R.id.am_tv_cell): 
                      Toast.makeText(getBaseContext(),"Текст2 элемента№"+position, 
                                             Toast.LENGTH_SHORT).show();
                      break;
 
             } /*end switch*/
          } /*end onItemClick*/
            
}); /*end setOnItemClickListener*/
Или шо?
0
deromik
1 / 1 / 0
Регистрация: 11.06.2013
Сообщений: 29
25.10.2014, 15:29 #9
в кастомном адаптере, где инициализируется и заполняется TextView (т.е. getView(...)) просто повесьте слушателя onClick на этот самый TextView
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
26.10.2014, 17:10 #10
Цитата Сообщение от deromik Посмотреть сообщение
в кастомном адаптере, где инициализируется и заполняется TextView (т.е. getView(...))
А лучше в самом классе/активити переопределить метод getView адаптера.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.10.2014, 17:10
Привет! Вот еще темы с ответами:

Переход с элемента listView на activity - Программирование Android
никак не возьму в толк, каким образом можно реализовать переход на новое activity с элемента listView, чтобы при нажатии на 1 строку...

ListView: подсветка выбранного элемента - Программирование Android
В активити есть несколько списков со своей разметкой. Пересмотрел кучу примеров, но у самого что-то не получается оставить после нажатия...

Зафиксировать пзицию элемента в ListView - Программирование Android
Коллеги, нужен совет. Ситуация такая - Есть один ListView, элементом списка является WebView. Так вот, после иницализации адаптера нужно...

ListView не работает выбор элемента - Программирование Android
Доброго времени суток. Который день мучаюсь. Не знаю как поменять цвет ListView, так что бы не сбить работу выбора элемента при нажатии....


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
26.10.2014, 17:10
Ответ Создать тему
Опции темы

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