項目做多了之後,會發現其實 ScrollView嵌套ListVew或者GridView等很常用,但是你也會發現各種奇怪問題產生。根據個人經驗現在列出常見問題以及代碼最少最簡單的解決方法。 問題一 : 嵌套在 ScrollView的 ListVew數據顯示不全,我遇到的是最多只顯示兩條已有的數據。 解 ...
項目做多了之後,會發現其實 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);