ScrollView中嵌入ListView,GridView冲突的解决(让ListView全显示出来)

经常要在ScrollView中嵌入ListView,网上方法一大堆,但都比较繁琐。
本人认为比较好的办法如下:
import android.widget.ListView;

/**
 * ScrollView中嵌入ListView,让ListView全显示出来
 * @author reyo
 *
 */
public class MyListView extends ListView{

	public MyListView(android.content.Context context,android.util.AttributeSet attrs){
		super(context, attrs);
	}

	/**
	 * 设置不滚动
	 */
	public void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
	{
		int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
				MeasureSpec.AT_MOST);
		super.onMeasure(widthMeasureSpec, expandSpec);

	}
	
}

继承ListView,重写onMeasure即可。

同样,当ListView中嵌套一个GridView时,也需要重写一下GridView,否则只会显示一行GridView的数据。

import android.widget.GridView;

public class MyGridView extends GridView {
	public MyGridView(android.content.Context context,
			android.util.AttributeSet attrs) {
		super(context, attrs);
	}

	/**
	 * 设置不滚动
	 */
	public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
		int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
				MeasureSpec.AT_MOST);
		super.onMeasure(widthMeasureSpec, expandSpec);

	}

}

猜你喜欢

转载自gundumw100.iteye.com/blog/1732987