#android
#Android
Вопрос:
Я добавляю пользовательские представления в пользовательский ArrayAdapter. XML-макет, который я использую, выглядит следующим образом
<LinearLayout>
<HorizontalScrollView>
<LinearLayout>
<TextView></TextView>
<TextView></TextView>
<TextView></TextView>
<TextView></TextView>
</LinearLayout>
</HorizontalScrollView>
<LinearLayout>
Затем я устанавливаю адаптер для своего AlertDialog.Builder
в качестве пользовательского ArrayAdapter
, а также предоставляю OnClickListener
. Мой диалог отображается нормально, и я могу прокручивать список по вертикали, а также прокручивать каждое представление по горизонтали. Однако, когда я нажимаю на любое из представлений, оно никогда не запускает OnClickListener
.
Я попытался установить самый верхний LinearLayouts
descendantFocusability="blocksDescendants"
, но это не дало никакого эффекта. Есть ли какой-либо способ сделать это в AlertDialog
? Я пытался даже создать пользовательский диалог, который реализует OnGestureListener
но ни одно из событий gesture также не вызывается.
Ответ №1:
Я не уверен, смогу ли я воспроизвести ту же проблему, которую вы описываете, хотя я могу воспроизвести что-то подобное. Возможно, если бы вы опубликовали более полный и работающий пример кода, это могло бы помочь воспроизвести вашу проблему.
В любом случае, решением может быть не регистрировать дочерние компоненты для onClickListeners, потому что, когда у них есть onClickListeners, родители тогда не получают события click.