ListView開發知識整理

    listView在開發中使用的太多了,但是不少知識還是經常記不住,因今天把listView的一些方法和開發問題,統一整理記錄下來。

  一、方法或屬性

    1.stackFromBottom屬性:true表示從列表底部開始向上排列。但要注意它是從上往下遞增,新數據處在底部。

    

    2.setTranscriptMode:設置數據更新時,滑動模式。有三個值:

        alwaysScroll:更新,總是滾到最底部
        disabled:滿頁後更新,不滾動
        normal:最後一個item可見,更新時滾到最底部,否則不滾動。

  

    3.setSelectFromTop(position,y)與setSelection(position)

      (1)setSelectFromTop(position,y):精準定位,y表示選擇的item到listView可見範圍內最上邊邊緣的距離。

      (2)setSelection(position):內部也調用了setSelectFromTop,但是y軸偏移量爲0,可以做到定位,但是解決不了某一個item部分不可見的情況。

        例:在做IM聊天頁面的下拉刷新時,刷新成功後(有數據),需要把listView向上移動一個位置,以便讓用戶看到最新刷出來的數據,同時注意headView,設置偏移量。


二、注意事項:

    1.多Item類型時異常:數組下標越界

    解決:adapter的回調方法:getItemViewType(position)中,返回的值必須從0開始,依次增大,否則異常。


    2.列表中checkBox滑動後狀態混亂

    解決:getView方法中先設置checkBox.setTag(index),將複選框與position關聯,選中時通過getTag()方法獲取當前複選框對應的位置。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章