Android: получить событие движения в onListItemClick

#android #listview #event-handling #listactivity

#Android #просмотр списка #обработка событий #listactivity

Вопрос:

У меня есть ListActivity, и я хочу отреагировать на onListItemClick (ListView l, View v, int position, длинный идентификатор).

Но я также хочу знать, щелкнул ли пользователь в левой или правой части экрана. Есть ли какие-либо изменения, которые я могу получить для MotionEvent из onListItemclicked-метода.

У меня есть ListView. В каждой строке слева указано имя, а справа — средний результат голосования. Когда пользователь нажимает в строке слева, я хочу загрузить действие, которое показывает информацию об имени. Когда пользователь нажимает на правую часть строки, я хочу загрузить действие, которое позволяет пользователю голосовать за название. Я хотел бы использовать onListItemClick (ListView l, View v, int position, длинный идентификатор) для получения строки, в которой я нахожусь, поскольку это так просто. Но как я могу узнать, щелкнул ли пользователь слева или справа.

Могу ли я запросить какой-либо объект для текущего обрабатываемого события движения?

Спасибо!

Ответ №1:

Как насчет установки OnClickListener как для левого, так и для правого вида? При необходимости вы могли бы дополнить представления так, чтобы они покрывали большую часть строки, чем в настоящее время. Тогда вы все равно получите onListItemClick , когда щелчок происходит в «нейтральной» области.

Комментарии:

1. У меня есть только один, ListView который может дать мне onListItemClick . Но внутри каждого элемента списка у меня есть четыре TextView s (2 слева друг над другом, 2 справа друг над другом). Когда я пишу это, мне интересно, что я получаю как View v от onListItemClick . Получу ли я некоторый вид, который отражает весь элемент в списке, или я получу один из своих TextView , чтобы я мог определить сторону, которая была нажата, из этого?

2. На самом деле вы можете установить OnClickListener индивидуально для каждого из ваших TextViews