HorizontalScrollView внутри AlertDialog

#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.