Подтвердить что ты не робот

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

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

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

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

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

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

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

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

4b9b3361

Ответ 1

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

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

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();
    }
}