ScrollView内嵌套有一个广告ViewPager以及ListView的商品成列,因为考虑到在scrollView中的ListView不能全部显示,所以重写了ListView,但是在运行的时候会出现ListView加载所有的数据····倒是卡住。求解
ScollerView嵌套ListView
问题一 : 嵌套在 ScrollView的 ListVew数据显示不全,我遇到的是最多只显示两条已有的数据。
解决办法:重写 ListVew或者 GridView。
@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);
}
问题二 、打开套有 ListVew的 ScrollView的页面布局 默认 起始位置不是最顶部。
一是:把套在里面的Gridview 或者 ListVew 不让获取焦点即可。
gridview.setFocusable(false); listview.setFocusable(false);
注意:在xml布局里面设置android:focusable=“false”不生效
方法二:网上还查到说可以设置myScrollView.smoothScrollTo(0,0);
可以用分页加载数据。也可以开个线程加载数据,用handler通知主线程更新