问题1:如何解决scrollview嵌套listview后listview的数据显示不全问题?
/** * 设置ListView的高度 * * @param */ private void setPullLvHeight(ListView pull) { int totalHeight = 0; ListAdapter adapter = pull.getAdapter(); for (int i = 0, len = adapter.getCount(); i < len; i++) { //listAdapter.getCount()返回数据项的数目 View listItem = adapter.getView(i, null, pull); listItem.measure(0, 0); //计算子项View 的宽高 totalHeight += listItem.getMeasuredHeight(); //统计所有子项的总高度 } ViewGroup.LayoutParams params = pull.getLayoutParams(); params.height = totalHeight + (pull.getDividerHeight() * pull.getCount()); pull.setLayoutParams(params); }
在代码中动态设置listview的高度 在Adapter添加完数据之后再设置才有效
问题2:为了解决scrollview和listview冲突 设置了listview的高度 结果进页面就不是在顶部了 如何才能解决该情况?
解决方案:在动态设置完listview的高度之后 加个这个方法
mScrollView.smoothScrollTo(0,20);
然后 myScrollView.smoothScrollTo(0,20);无效时, 在代码里去掉listview的焦点 lv.setFocusable(false);
问题3:scrollview设置match_parent无效 ScrollView内部元素如何做到fill_parent,解决listview单行显示数据