ListView中嵌套GridView时GridView的数据无法完全显示,只显示一行

这种情况下需要自定义一个GridView,然后重写GridView的onMeasure(int widthMeasureSpec, int heightMeasureSpec)的方法,将GridView重新测量,并且指定GridView的新的高度

package com.yuedong.mobi.view;

import android.content.Context;
import android.util.AttributeSet;
import android.widget.GridView;

/**
 * 
 */
public class MyGridView extends GridView {

  public MyGridView(Context context) {
    super(context);
    // TODO Auto-generated constructor stub
  }

  public MyGridView(Context context, AttributeSet attrs) {
    super(context, attrs);
    // TODO Auto-generated constructor stub
  }

  public MyGridView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    // TODO Auto-generated constructor stub
  }

  @Override
  protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    // TODO Auto-generated method stub
    int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
    super.onMeasure(widthMeasureSpec, expandSpec);
  }

}


你可能感兴趣的:(ListView中嵌套GridView时GridView的数据无法完全显示,只显示一行)