Intereting Posts
Почему приложение не подключается к устройству BLE при установке autoConnect на true в Android? Открытие приложения для Android в другом Как отправить SMS с помощью Twilio в приложении для Android? Android – невозможно получить значение из EditText внутри пользовательского диалога Поддержка Android ndk std :: to_string Fragment.isAdded возвращает true после удаления фрагмента из контейнера Режим хоста Android Отладка USB Ошибка приложения при запуске в API API 10, но не на API 16 из-за ресурсов $ NotFoundException Кордова видео / аудио не будет воспроизводиться из cdvfile: // URL-адреса после обновления до 3.3.0 Как обновить список навигационного ящика, как только он откроется / закрыт в Android Не удалось синхронизировать Gradle: Версия: 8.4.0 ниже минимальной версии (9.0.0), необходимой для плагина google-services Andorid Deeplinking не работает с несколькими схемами Разрешение MarshMallow для gmaps Как использовать FFT для фильтрации шума 50 Гц из массива данных? Как проверить ведение Android In-app Billing на сервере с Ruby?

Добавить GridView в ListView на Android

Я пытаюсь создать ListView, который будет состоять из двух типов элементов: Strings и GridView.
Т.е. помещение обеих строк и GridView внутри одного ListView.

Макет должен выглядеть примерно так:

  • Строка Пункт 1.1
  • Строка Пункт 1.2
  • Строка Элемент 1.3
  • Строка Пункт 1.4
  • GridView Item 1 GridView Пункт 2
    GridView Item 3 GridView Пункт 4
  • Строка Пункт 2.1
  • Строка Пункт 2.2
  • Строка Пункт 2.3
  • Строка Пункт 2.4

Есть какой-либо способ сделать это?

В настоящее время я могу показать только первый элемент в GridView, и он действует как обычный элемент String в ListView.

Код можно посмотреть здесь:

  • CustomListViewActivity.java
  • SectionAdapter.java
  • main.xml
  • header_row.xml
  • simple_list_row.xml
  • grid_list_row.xml

Любая помощь приветствуется 🙂

Solutions Collecting From Web of "Добавить GridView в ListView на Android"

Чтобы ответить на мой вопрос:

Основываясь на этом ответе, я создал этот класс, который работает очень хорошо:

public class NonScrollableGridView extends GridView { public NonScrollableGridView(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { // Do not use the highest two bits of Integer.MAX_VALUE because they are // reserved for the MeasureSpec mode int heightSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, heightSpec); getLayoutParams().height = getMeasuredHeight(); } }