zoukankan      html  css  js  c++  java
  • dataBinding+自定义ListViewForScrollView

    我所在的项目组是做安卓的,最近项目组换了新的框架,也换了语言。从java换为了kotlin,用上了ViewModel和databing。

    在这开始的几个星期中,我遇到了坑坑。

    首先是listview,因为我们要在scrollview里嵌套listview,但是listview自己又有滚动条,我们又不能给listview固定长度,我在这时就去网上找解决方法。首先使用的是,显示的时候自己检测一下item一共有多少个,给计算一个长度赋值给listview,但因为数据使用了databing,先加载完页面后获取的数据,数据是动态绑定的,所以就会找不到计算长度的触发点。只能自己实现自定义的listview来使用,我起名为ListViewForScrollView。

    这里我遇到了一些麻烦,我自定义ListViewForScrollView使用的是java语言,但是我使用他的Fragment是使用的Kotlin,然后build的时候就一直报错,把ListViewForScrollView换为java语言就编译通过了。

    但是我们还是用的databing,自定义组件原本是不支持databing的,需要加上

    companion object {

        @JvmStatic

        @BindingAdapter("adapter")

        fun adapter(operator: ListViewForScrollView, listAdapter: ListAdapter<T>?) {

            operator.adapter = listAdapter

        }

    }

    这样数据才可以使用databing。在xml文件中使用app:adapter = “@{表达式}”

  • 相关阅读:
    JAVA编程规则【转自java编程思想】
    诊断 Java 代码: 轻松掌握 Java 泛型
    Linux开启telnet远程登录服务全攻略
    TCP详解
    UNIX环境高级编程文件描述符浅析
    DHCP与BOOTP有什么区别
    Linux 多播(组播)例程
    你所不知道的传输层
    虚电路方式,数据报方式
    java foreach 使用
  • 原文地址:https://www.cnblogs.com/fromzore/p/14484360.html
Copyright © 2011-2022 走看看