ScrollView嵌套listView显示不完全对应解决方案

ScrollView里面再次嵌套带有滚动属性的控件(ListView,GridView等)时,会发生冲突。导致ListView或者GridView的高度只有一行。

解决方法一: 动态设置ListView控件的高度  (今天用这种方法发现失效了,原因不明)具体实现代码:

            mListView.setAdapter(mAdapter);
            int total = 0;
            for (int i = 0; i < mAdapter.getCount(); i++) {
                View item = mAdapter.getView(i, null, mListView);
                item.measure(0, 0);
                total += item.getMeasuredHeight();
            }
            ViewGroup.LayoutParams params = mListView.getLayoutParams();
            params.height = total;
            mListView.setLayoutParams(params);

就是在ListView控件setAdapter方法后、动态计算出里面item的高度,然后在修改给ListView控件。

解决方法二:

ScrollView嵌套listView显示不完全对应解决方案_第1张图片

自定义控件,实现其onMeasure方法。其他像GridView控件等都是一样的。

其他参考资料:http://www.apkbus.com/android-161576-1-1.html


你可能感兴趣的:(android)