经常要在ScrollView中嵌入ListView,网上方法一大堆,但都比较繁琐。
本人认为比较好的办法如下:
- import android.widget.ListView;
-
- 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);
-
- }
-
- }
ScrollView中嵌入ListView,GridView冲突的解决(让ListView全显示出来)
原文:http://www.cnblogs.com/wikiki/p/5045364.html