|
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 61
|
|||||||||||
Собственный адаптер на основе ArrayAdapter26.01.2016, 16:53. Показов 1916. Ответов 17
Хочу реализовать, чтобы при keydown элемент списка менял цвет фона, а при keyup возвращался в исходное положение, и в то же время выполнял действие которое прописано в методе onListItemClick в активити, которое использует этот адаптер.
Код адаптера
Часть кода активити
То есть если я меняю onToucListener, то метод onListItemClick в активити не вызывается и нельзя перейти в другое активити. Класс MyAdapter используется во многих классах, поэтому я не могу просто в нём прописать переход. Заранее спасибо.
0
|
|||||||||||
| 26.01.2016, 16:53 | |
|
Ответы с готовыми решениями:
17
Собственный ArrayAdapter
|
|
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
|
|
| 26.01.2016, 17:10 | |
|
1
|
|
|
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 61
|
|
| 26.01.2016, 17:30 [ТС] | |
|
С английским у меня плохо. Может быть вы приведёте примет использования?
0
|
|
|
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
|
||||||||
| 26.01.2016, 17:41 | ||||||||
![]() Чтобы после onTouch отработал onClick, нужно, чтобы onTouch в нужном месте вернул false. В вашем случае, после отработки MotionEvent.ACTION_UP нужно вернуть false.
1
|
||||||||
|
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 61
|
|
| 26.01.2016, 17:51 [ТС] | |
|
К сожалению мне очень не удобно использовать onClick, потому что много активити использую этот класс и у всех разные переходы. Вы случаем не знаете как, например тем же onClick вызвать метод onListItemClick из активити, которое в данный момент его использует?
0
|
|
|
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
|
|
| 26.01.2016, 17:55 | |
|
Вы код испробовали?
onListItemClick отработался?
1
|
|
|
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 61
|
|
| 26.01.2016, 18:00 [ТС] | |
|
Да опробовал, но метод не сработал.
0
|
|
|
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
|
|||||||
| 26.01.2016, 19:04 | |||||||
|
В принципе, чего бы ему и срабатывать-то? ![]() У вас onTouchListener повешен на TextView tv (кстати зачем?), а OnItemClickListener() висит на ListView. У меня нету готового "полигона", чтобы тестить самому. Попробуйте повесить onTouchListener на convertView, а не на TextView.
1
|
|||||||
|
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 61
|
||||||
| 26.01.2016, 22:41 [ТС] | ||||||
|
Во по этому я вешаю на tv
Ошибка
FATAL EXCEPTION: main
java.lang.NullPointerException Добавлено через 28 минут Научился обрабатывать keydown. Что-то вроде этого. Как я понял, чтобы он мог дальше выполнять методы надо возвращать false Код
В логе пишет что keydown идёт на TextView, а keyup идёт на ListView. Осталось только мне сделать ListView, но я ни где не могу его добыть. К сведенью аргумент convertView пустой. Как это ни странно. Может есть идеи на счёт того чтобы можно было оперировать как-то с ListView?
0
|
||||||
|
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
|
||||||||||||||||||
| 26.01.2016, 23:03 | ||||||||||||||||||
|
Напрочь. Не доглядел, то что ты понаписывал. Сорри, не со зла ![]() Итак, имеем
И да convertView поначалу может быть null, и это не странно. Полностью, а не только TextView, который является одним из его составляющих элементов. Приводить его к TextView - не комильфо. Соответствующий TextView ищется через findViewById Так что и последнее твоё
Что такое
![]() Идем дальше. Посмотри , ты в адаптере каждому элементу списка назначаешь НОВЫЙ слушатель касаний, который делает для всех элементов одно и то же и не зависит от конкретно выбранного элемента. Лучше в классе адаптера ввести отдельного слушателя касаний и вешать его ОДНОГО на все элементы.
P.S. Лучше будет, если ты расскажешь чего ты вообще хочешь добиться. Не анимации ли нажатия на пункт списка часом?
1
|
||||||||||||||||||
|
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 61
|
||||||||||||||||
| 27.01.2016, 18:26 [ТС] | ||||||||||||||||
|
Код
S.pomfv меняет цвет заднего фона у общего окна, то есть за кнопками. S.pom меняет цвет фона у заданного элемента, то есть у TextView S.pomtv меняет цвет текста у TextView. S - это просто отдельный класс в котором я пишу разные функции. Нет) Я просто хочу чтобы они работали как кнопки) Без анимаций. Добавлено через 1 минуту И функция getView возвращает по умолчанию TextView Добавлено через 10 минут Что-то не получается) Лично я сделал отдельный класс у которого родительский класс ListActivity. Переопределил метод onListItemClick и везде где использовал ListActivity, поменял родительский класс на свой и при переопределении метода вызывал родительский метод. А в адаптере сделал только обработку на action down. Адаптер
Свой класс
Переопределил onPause потому что цвет немного зависал. По моему так легче чем возится с плохим адаптером. Теперь только когда нажимаю на элемент и выхожу за его пределы он не меняет цвет. Не подскажете, есть ли такой метод, чтобы при нажимании на экран, в не зависимости от View, обрабатывал событие? Тогда было бы то, что именно я хотел.
0
|
||||||||||||||||
|
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
|
||||||
| 27.01.2016, 18:31 | ||||||
|
Как уже выяснили - з onTouch возвращай false.
В классе активити на ListView OnItemClickListener . Для примера
Добавлено через 2 минуты А, ты пошёл через ListActivity. Ну, пусть так.
1
|
||||||
|
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 61
|
|
| 27.01.2016, 18:48 [ТС] | |
|
А вы не знаете метод, когда при нажатии на любое место на экране обрабатывалось событие?
Добавлено через 3 минуты Метод класс Activity.
0
|
|
|
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
|
|
| 27.01.2016, 18:53 | |
|
dispatchTouchEvent
1
|
|
|
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
|
|||
| 27.01.2016, 18:56 | |||
1
|
|||
|
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 61
|
||||||
| 27.01.2016, 19:13 [ТС] | ||||||
|
Ладно. Сделал через dispatchTouchEvent.
Приводу полный код родительского класса активити. Код
Не по теме:
Добавлено через 2 минуты Не по теме: По идее это подсвечивание нажатий кнопок в ArrayAdapter.
0
|
||||||
| 27.01.2016, 19:13 | |
|
Не по теме: код ужасен, я бы все вытер и начал заново
0
|
|
|
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 61
|
|
| 27.01.2016, 19:20 [ТС] | |
|
Не по теме: Я только начинаю. Поэтому он и плох. Но мне очень интересно, как ты бы осуществил нажатие кнопок в ArrayAdapter? Добавлено через 1 минуту Не по теме: И чтобы они ещё подсвечивались, и чтобы если пользователь нажал на кнопку, потом протянул пальцем на другой участок экрана, где нет кнопки, то она сменила цвет на изначальный.
0
|
|
| 27.01.2016, 19:20 | |
|
Помогаю со студенческими работами здесь
18
Отличия в работе ArrayAdapter Обновление данных в ArrayAdapter ArrayAdapter вылет на clear и add Кастомный ArrayAdapter для Spinner Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes.
А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения
развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит:
токи, напряжения и их 1 и 2 производные при t = 0;. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|