Добавить GridView в ListView в Android - PullRequest
       10

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

16 голосов
/ 05 октября 2010

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

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

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

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

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

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

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

1 Ответ

51 голосов
/ 17 октября 2012

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

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

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();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...