DataBinding补坑

作者: eiun | 来源:发表于2016-11-03 11:16 被阅读0次

上个星期咧写了篇databinding的入门使用

[DataBinding绑定控件]http://www.jianshu.com/p/fd4060bfe927

因为我也是刚用,所以本来自己用就有很多坑,现在踩得头破血流了,开始补坑

android:text='@{"用户评价(" + mine.evalNum } '

首先是这一行代码,这样文字里面加参数
我看到Google的文档里面记得是外面单引号的,当然也有可能是我用错了单引号或者本来就不是单引号,只是类似单引号,结果就是到处找不到DataBinding这个类,这是因为你配置不正确所以导致编译不了,

所以外面要正常的双引号,然后还有个写法是

android:text="@{ '用户评价' +mine.evalNum}"

看到没用户评价那几个字用的是 ' 英文状态下的单引号,这样写一样GG

所以正确的是

android:text="@{用户评价(+mine.evalNum}"

好吧我又孤陋寡闻了,死活打不出那个符号

那几个字要用 英文状态下键盘左上角那个符号才行

`

`

`

重要的事情写3遍,就是这个符号括起来,要不分分钟掉坑

然后再补个功能,关于include的

include还是不能找到控件,再吐槽一次太坑了

但是include里面是可以传输数据的



<?xml version="1.0" encoding="utf-8"?>
<layout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:bind="http://schemas.android.com/apk/res-auto">
    <data>
        <variable
            name="mine"
            type="com.***.***.bean.***.***Bean"/>
    </data>
    <android.support.design.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <include layout="@layout/mine_page_header"
            bind:mine="@{mine}"/>

        <include layout="@layout/mine_page_content"
                 bind:mine="@{mine}"/>

    </android.support.design.widget.CoordinatorLayout>

</layout>

这样子就把mine的数据传输进去include里面了,当然include里面还要配置,话说很多文档都没写只告诉你要配置一遍,因为的确是配置一遍(···这话说的),事实就是里面的配置跟外面一样就好,但是没代码不放心,那行,上代码:




<?xml version="1.0" encoding="utf-8"?>
<layout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:bind="http://schemas.android.com/apk/res-auto">
    <data>
        <variable
            name="mine"
            type="com.***.***.bean.***.***Bean"/>
    </data>

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/background_color">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@{`用户评价(`+mine.evalNum+`)`}"  //呐,就是这里这样就可以用了
            android:drawableLeft="@mipmap/iconfont_pingjia"
            android:drawablePadding="2dp"
            android:drawableRight="@mipmap/down_open"
            android:padding="8dp"
            android:layout_marginTop="8dp"
            android:background="@color/white"/>

</LinearLayout>

</layout>

好,include这里还有个坑,在头顶

    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:bind="http://schemas.android.com/apk/res-auto"

这几行是自动生成的嘛
问题是正常会写LinearLayout这个先,然后再配置的嘛

所以经常这几行会有些在LinearLayout里面了,这样会导致整个databing编译失败,也是个大坑。

所以这些要放在layout里面,然后多余的,没用到的最好删掉,要不分分钟还是会掉坑。

最后还有个坑,怪我个人问题,也不怕丢脸了·····

  <include layout="@layout/mine_page_content"
                 bing:mine="@{mine}"/>

就是传值进去的时候这样一眼看过去没啥问题,各种不报错,但是一编译就突突突的崩了,找了半天都没找到,结果是·····

唉我都不好意思说了

bind写成了bing,尼玛就一个字母,问题是
xmlns:bing="http://schemas.android.com/apk/res-auto"

这句居然也能导进去,我擦咧····

所以说啊,经常有时候不小心打错一个字母,整个程序崩了,还特么那么隐蔽,简直就是坑啊,说多了都是泪···

最后吐槽下:最近可能我写代码快了点,结果另外一个项目有个人走了,结果呢就是把我也塞进去了,现在两个项目同时开工,而且都是那么赶,表示压力山大,时间妥妥的不够用了,然后可能这几天写文章都会断断续续的了。

再吐槽下:最坑的就是在别人的项目上动工,再坑的就是你用的东西跟别人的还完全不一样,比如网络框架我找就用retrofit2+okhttp+rxjava+butterknife+mvp了,然而他还是xutils,调个接口都麻烦,代码还全部堆在activity里面,看着就头疼

最最后:retrofit2+okhttp+rxjava+butterknife+mvp这套东西用来快速开发简直不要太好用,虽然网上很多教程,等以后我有空了,也记录下,把代码分享出来,其实不难的,搭好框架就可刷刷刷的开用了,炒鸡方便~

相关文章

  • DataBinding补坑

    上个星期咧写了篇databinding的入门使用 [DataBinding绑定控件]http://www.jian...

  • DSL+Rxjava手撸DataBinding

    Android系统自带的DataBinding基于复杂的apt,坑巨多,最近逐步弃坑原生DataBinding框架...

  • DataBinding 点击事件无效

    前言 刚加入MVVM阵营不久,踩了不少坑,今天说说关于DataBinding的坑 对于DataBinding如何实...

  • DataBinding学习使用进阶之路

    最近在学习DataBinding的使用,中间遇到了不少的坑,记录以下,帮助以后学习DataBinding的朋友。 ...

  • Android-DataBinding-BindingAdapt

    接着上篇MonkeyLei:Android-androidx-DataBinding入门快速上手总结(有点小坑,暂...

  • 安卓Databinding入门浅坑

    听说Databinding比findViewById的效率要高,决定试试,发现俩坑: 门栏 启用Databindi...

  • 今天出门回家晚了,先占个坑

    今天出门回家晚了,先占个坑,明天补 今天出门回家晚了,先占个坑,明天补 今天出门回家晚了,先占个坑,明天补 今天出...

  • DataBinding部分踩坑

    以下是databinding使用的一个小demo, 自己练习用的, 目前觉得不好用, 暂时就先放弃了, 但是记录在...

  • DataBinding - 踩坑记

    1. Didn't find class "android.databinding.DataBinderMappe...

  • DataBinding踩坑总结

    一. 我发现这个点击事件的type路径全都报错,看到有人说路径要小写,最后文件名大写,改了试了一下,么有问题了。 ...

网友评论

    本文标题:DataBinding补坑

    本文链接:https://www.haomeiwen.com/subject/lsnvuttx.html