轉自:http://blog.csdn.net/siyecao1991/article/details/41044619?utm_source=tuicool&utm_medium=referral
項目做多了之後,會發現其實ScrollView嵌套ListVew或者GridView等很常用,但是你也會發現各種奇怪問題產生。根據個人經驗現在列出常見問題以及代碼最少最簡單的解決方法。
問題一:嵌套在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);