Android ScrollView里嵌套listview,listview显示不全的问题

Android ScrollView里嵌套listview,listview显示不全的问题

问题描述:

一般情况下,谷歌是不建议 ScrollView里嵌套listview的 ,因为他两都可以滑动,但是在真实的需求中,我们的确需要在scrollview里嵌套

listview才能解决我们的问题,那么问题又来了,scrollview里嵌套一个listview之后,listview却显示不全了,只显示一个条目的高度,今天就为大家解决一下这个问题,因为我也遇到了这个问题,在网上搜索之后,解决的方案很多,但是都未能解决根本问题。

解决方法:

自定义listview,重写onMeasure()方法。

代码

package cc.coach.bodyplus.widget;

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

    /** * @author FussenYu */
    public class ListViewForScrollView extends ListView {

        public ListViewForScrollView(Context context) {
            super(context);
        }

        public ListViewForScrollView(Context context, AttributeSet attrs) {
            super(context, attrs);
        }

        public ListViewForScrollView(Context context, AttributeSet attrs,
                                     int defStyle) {
            super(context, attrs, defStyle);
        }

        @Override
        /** * 重写该方法,达到使ListView适应ScrollView的效果 */
        protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
            int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
                    MeasureSpec.AT_MOST);
            super.onMeasure(widthMeasureSpec, expandSpec);
        }
    }

欢迎浏览上一篇文章 http://blog.csdn.net/fussenyu/article/details/51179563

你可能感兴趣的:(android,ListView,scrollview)