ScrollView嵌套ListView衝突問題的最優解決方案

轉自: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);

發佈了53 篇原創文章 · 獲贊 30 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章