Проблемы с селектором в виде списка при отображении другого интерактивного макета - PullRequest
0 голосов
/ 19 марта 2012

Я создал собственный вид списка, каждая строка имеет свой собственный селектор, содержит различные разное.элементы и 1 Относительное расположение с его собственным селектором.(Я использую относительную компоновку, так как кнопка «Изображение» мне не подходит по функциональности).

Элементы списка имеют разные состояния, в некоторых весь элемент можно нажимать и на кнопке, а в других элементне должен быть кликабельным, только относительный макет (далее для простоты обозначается как кнопка).

После долгих потрясений я решил решить эту проблему, установив статический фон (нормальное состояние, выбираемое из селектора)для не кликабельных строк и сам селектор для кликабельных.(Если у вас есть лучшее решение для этого, пожалуйста, не стесняйтесь поправлять меня, это не главное, но я приветствую любую помощь)

Проблема в том, что, хотя сама строка не меняетсяфон, селектор для кнопки срабатывает.Я проверил это, и то же самое происходит, когда строка имеет селектор в качестве фона.

Мой вопрос заключается в том, почему щелчок элемента списка вызывает оба селектора, когда я четко нажимаю только на элемент, когда я нажимаюкнопка, селектор строки не сработал.

Также я должен упомянуть, что в моем макете строки кнопка находится над селектором элемента (или содержится в нем).

1 Ответ

0 голосов
/ 24 марта 2012

Так что я не смог найти правильное решение для этого, и я немного обошел его.

Кажется, что происходит то, что событие onItemClick запускает все селекторы в пользовательском макете, которыйЭто довольно неудобно, поэтому я пропустил его и реализовал onClickListener для каждого из моих представлений, чтобы сохранить позицию элемента, по которому щелкнули, я установил для одного из моих представлений в каждом элементе соответствующую позицию в массиве в качестве тега.В следующий раз, когда я просто продолжу кликать даже на пользовательский метод в соответствующем действии (я создаю один адаптер для 5 действий), я просто проверяю с параметром действия, в каком экземпляре мы находимся, приводим переменную действия и вызываю метод.Если вы знаете какие-либо лучшие решения, пожалуйста, не стесняйтесь сообщить мне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...