文档章节

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

深山
 深山
发布于 2015/02/13 10:08
字数 185
阅读 218
收藏 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
关于设置选择条颜色多个ListView之间切换问题解决方案

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

明月春秋
2017/11/12
0
0
ListView下拉刷新时偶尔动画会卡住

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

three two one
2016/01/29
510
2
在新建的广播机制的内部类public void onReceive(Context arg0, Intent arg1)方法里重写外部类的setContentView()

实现了一个TabHost双层嵌套布局 (一),外层TabHost有2个标签按钮:"主页"和"游戏",写在下面类里 public class MainActivity extends ActivityGroup implements OnTabChangeListener{ @Overrid...

朝暮行风
2014/07/22
1K
0
ScrollView嵌套ListView的问题同样适用于gridview

以下文章转自@安卓泡面 在工作中,曾多次碰到ScrollView嵌套ListView的问题,网上的解决方法有很多种,但是杂而不全。我试过很多种方法,它们各有利弊。 在这里我将会从使用ScrollView嵌套L...

Remix_jx
2015/01/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

c语言之内存分配笔记

先看一个数组: short array[5] = {1,2} // 这儿定义的一个int类型的数组,数组第1和第2个元素值是1和2.其余后面默认会给值为0; 或者 short array[] = {1,2};//这儿数组第1和第2个元素,数组...

DannyCoder
今天
2
0
Shell | linux安装包不用选择Y/N的方法

apt-get install -y packageOR echo "y" | sudo apt-get install package

云迹
今天
2
0
Hadoop的大数据生态圈

基于Hadoop的大数据的产品圈 大数据产品的一句话概括 Apache Hadoop: 是Apache开源组织的一个分布式计算开源框架,提供了一个分布式文件系统子项目(HDFS)和支持MapReduce分布式计算的软件架...

zimingforever
今天
5
0
八大包装类型的equals方法

先看其中一个源码 结论:八大包装类型的equals方法都是先判断类型是否相同,不相同则是false,相同则判断值是否相等 注意:包装类型不能直接用==来等值比较,否则编译报错,但是数值的基本类型...

xuklc
今天
2
0
NoSQL , Memcached介绍

什么是NoSQL 非关系型数据库就是NoSQL,关系型数据库代表MySQL 对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很耗...

TaoXu
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部