至于scroolView和listView的嵌套解决,网上很多方法。但我在开发中遇到了个很奇怪的问题,listView只显示一个item的高度,并且还能滑动。
解决:
一:自定义MyListView时,heightMeasureSpec = MeasureSpec.makeMeasureSpec(maxHeight, MeasureSpec.AT_MOST); 得到的 heightMeasureSpec是 super.onMeasure(widthMeasureSpec, heightMeasureSpec);中的第二个参数。。。
二:在代码中动态测量listView的高度时:
注意:要先加载完adapter的数据再调用setListViewHeightBasedOnChildren(listView);
- String[] adapterData = new String[] { "Afghanistan", "Albania",… … "Bosnia"};
- listView.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,adapterData));
- setListViewHeightBasedOnChildren(listView);