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()方法获取当前复选框对应的位置。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值