文档章节

开发随记 <二> 自定义listview遇到得问题

深山
 深山
发布于 2015/02/13 10:08
字数 185
阅读 222
收藏 3

有个小需求, 编码头部驻留得item, 其中就用到了, 生成默认得layoutparams得东西,

// read layout parameters
       AbsListView.LayoutParams layoutParams = (LayoutParams) pinnedView.getLayoutParams();

if (layoutParams == null) {
            layoutParams = this.generateDefaultLayoutParams();
            pinnedView.setLayoutParams(layoutParams);
        }

anroid5.0.1 的实现

  @Override
    protected ViewGroup.LayoutParams generateDefaultLayoutParams() {
        return new AbsListView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
                ViewGroup.LayoutParams.WRAP_CONTENT, 0);
    }


anroid4.0的实现

    /**
     * Returns a set of default layout parameters. These parameters are requested
     * when the View passed to {@link #addView(View)} has no layout parameters
     * already set. If null is returned, an exception is thrown from addView.
     *
     * @return a set of default layout parameters or null
     */
    protected LayoutParams generateDefaultLayoutParams() {
        return new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    }

也许你已经发现问题了, 低版本的generateDefaultLayoutParams生成的是ViewGroup的layoutparams, 如果你要强转成AbsListView.LayoutParams这个肯定是要报错得. 父亲怎么像儿子呢



© 著作权归作者所有

共有 人打赏支持
深山
粉丝 1
博文 10
码字总数 2441
作品 0
朝阳
私信 提问
基于Android官方AsyncListUtil优化经典ListView分页加载机制(二)

基于Android官方AsyncListUtil优化经典ListView分页加载机制(二) 我写的附录文章1,介绍了如何使用Android官方的分页加载框架AsyncListUtil优化改进常见的RecyclerView分页加载实现。Async...

zhangphil
2017/11/27
0
0
踢开Android 开发中的绊脚石

在开发过程中,许多并算不上高级技能甚至连基础知识都不算的东西经常被忽略,但这些东西还经常是开发过程中的绊脚石,很长时间都解决不了,一旦找到了解决办法,就茅塞顿开了“原来是这样啊,...

Xiao_Mai
2017/10/24
0
0
记录修改安卓5.0系统浏览器UI遇到的部分问题

碎碎念 今年七月份本科毕业后入职一家会议平板公司,经过一个一个多月的咸鱼培训轮岗生活,接手了几个小任务,本次记录一下其中一个任务:修改安卓5.0系统浏览器UI。刚接到任务的时候,本以为...

Newby
2018/08/31
0
0
关于设置选择条颜色多个ListView之间切换问题解决方案

近期在项目中需要给ListView设置自定义选择条颜色,一开始是用ListView的listSelector属性,但出现了两个问题。 1.一开始每个ListView上就出现了选择条颜色 2.有多个ListView,但切换选择时,...

明月春秋
2018/10/29
0
0
ListView下拉刷新时偶尔动画会卡住

listview的下拉刷新相信大家都做过,我这次用的是谷歌官方的swiperefresh,在下拉刷新的时候遇到一个问题,就是偶尔刷新动画会无限重复,不会自己消失,手动也停不下来...如图,这个动画会一...

three two one
2016/01/29
536
2

没有更多内容

加载失败,请刷新页面

加载更多

Linux下端口转发工具rinetd介绍

linux下简单好用的工具rinetd,实现端口映射/转发/重定向,针对TCP协议,不支持UDP。 官网地址 http://www.boutell.com/rinetd 里面介绍及使用齐全。 使用场景举例: 阿里云内网Redis连接问题...

ouhoo
8分钟前
0
0
Oracle学习日志-5(算数运算符,比较运算符和逻辑运算符)

因为有编程基础,所以对于这一章还是很好理解,只需要注意对NULL的运算。 操作的表格 算数运算符 查询商品名字和商品售价,并商品售价乘2 SELECT product_name,sale_price * 2 AS "sale_pri...

白话
20分钟前
0
0
搜索引擎(Lucene介绍、分词器详解)

Lucene介绍 Lucene简介 最受欢迎的java开源全文搜索引擎开发工具包。提供了完整的查询引擎和索引引擎,部分文本分词引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简...

这很耳东先生
25分钟前
0
0
quartz详细介绍

quartz常用api Scheduler 调度程序交互的主要API。 Job 希望由调度程序执行的组件实现的接口。 JobDetail 用于定义作业的实例。 JobDataMap 可以包含不限量的序列化数据,在job运行的时候可以...

大笨象会跳舞吧
25分钟前
0
0
kotlin使用jackson序列化enum

默认情况下,我们序列化与反序列化enum是它的name,事实上大部分情况下我们需要序列化的是我们自定义的value,那应该怎么做呢? 这种情况下我们就需要@JsonValue与@JsonCreator data class U...

weidedong
30分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部