Android: Множественные действия на List View - Фокус Issue

голоса
8

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

Если вы можете посмотреть @ DroidRecord, они имеют схожую компоновку, как я ищу для того чтобы достигнуть.

Благодаря!

Крис.

Задан 01/02/2009 в 06:17
источник пользователем
На других языках...                            


6 ответов

голоса
9

Как сказал Мариано Камп, добавив кнопки в строку будет делать это «неприкасаемым», но по моему опыту, эта проблема исчезнет, ​​если вы установили эти свойства кнопок:

    android:focusable="false"
    android:focusableInTouchMode="false"

Смотрите также Как стрелять onListItemClick в Listactivity с кнопками в списке?

Ответил 04/05/2010 в 13:28
источник пользователем

голоса
6

Другой возможный обходной путь - вы можете использовать ImageView вместо кнопки, и установите onClickListener в ImageView (например, когда вы раздувания вид клеток).

ImageView не фокусируемый так это не мешает OnListItemClick () с отправкой, и при нажатии на изображении только слушатель пожары изображения.

Ответил 22/06/2011 в 12:45
источник пользователем

голоса
4

какой у Вас вопрос? Как добавить кнопку в списке строку?

Очень просто, так же, как вы ожидаете, что будет добавлено в макет строки.

К сожалению , хотя это будет также сделать весь ряд «неприкасаемым». Разработчик Google спросил я сказал , что это дизайн (насколько я помню), и что вы должны использовать TouchDelegate , чтобы справиться с этим. Поскольку нет образцов, даже не в андроиде источника, и только очень тонкая документации , которая не работает для меня

Во всяком случае, кажется , что не многие приложения используют кнопку в списке строки. Я знаю только о моем ( NewsRob см списка статей) и будильник. Может быть , вы могли бы использовать контекстное меню?

В противном случае некрасивым решением было бы добавить, чтобы позвонить setOnClickListener () на ваш взгляд строки в методе GetView.

ура

Ответил 01/02/2009 в 10:33
источник пользователем

голоса
1

Это не ответ на ваш вопрос, но / вкладка с длинным нажатием , как правило , место , чтобы всплывающее контекстное меню и поставить дополнительные действия, такие как удаление. Вы можете прочитать , как сделать это здесь: Как реализовать контекстное меню в ListActivity на Android?

Ответил 01/02/2009 в 22:05
источник пользователем

голоса
0

Я попробовал это, чтобы иметь возможность нажимать на кнопки, но он не работает для меня андроид: фокусируемый = «ложь» андроид: focusableInTouchMode = «ложь»

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

Ответил 23/04/2013 в 01:13
источник пользователем

голоса
0

Я хотел бы поблагодарить Совет директоров за его намек на снятие focusableсостояния с кнопкой (ы), это спасло мой день.

Но для информации, так как кнопка больше нет focusable- state_focusedна <селектор> XML - его дизайн не будет отображать больше пользователей.

Эти кнопки будут по- прежнему получать состояние , pressedхотя, но и при щелчке в любом другом месте родительского вида (Anywhere But другой кнопки)!

Имейте это в виду, он не может быть хорошим решением для вашего собственного дела, но он работает хорошо.

Ответил 12/12/2011 в 14:21
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more