美文网首页
dataBinding 入门笔记

dataBinding 入门笔记

作者: 康康康康康娜 | 来源:发表于2019-12-24 11:45 被阅读0次

Databinding

1.开启支持
    android {
dataBinding {
    enabled = true
     }
}

2.打开布局文件,选中根布局的 ViewGroup,按住 Alt + 回车键,点击 “Convert to data binding layout”,就可以生成 DataBinding 需要的布局规则

3.在相关页面DataBindingUtil导入布局

相关符号

1.字符串拼接  ``

相关文档

1.https://www.jianshu.com/p/bd9016418af2
2.https://www.jianshu.com/p/70316eb4e0f8

示例

点击事件
   1.<variable
        name="clickListener"
        type="android.view.View.OnClickListener" />

   2.使用  android:onClick="@{clickListener}"

   3.java代码里 databinding.setClickListener(this);
   
   4.第二步也可调具体方法
点击事件02
  1.<variable
        name="clickUtils"
        type="com.bogokj.live.appview.main.LiveMainMeView.ClickClass" />

  2. <RelativeLayout
        android:id="@+id/rl_accout"
        style="@style/fra_tab_me_btn"
        android:onClick="@{() -> clickUtils.clickRlAccout()}">

  2-1.也可 android:onClick="@{clickUtils::clickRlAccout}"

  3.代码中 databinding.setClickUtils(new ClickClass());
跳转方法
   1.导包 <import type="com.bugu.douyin.utils.DataBingUtils" /> 

   2.调用 android:visibility="@{DataBingUtils.isOne(video.is_live)==1?view.VISIBLE:view.GONE}" 
   
   3.逻辑  public static int isOne(String str) {
           return CuckooStringUtils.toInt(str);
          }
跳转方法(注解)
   1.方法
   @BindingAdapter({"imageUrl"})
   public static void loadImage(ImageView imageView, String url) {
      GlideUtils.loadNetImgToView(url, imageView);
   }
   
   2.调用
   app:imageUrl="@{video.headpic}" 

问题

include布局获取数据为null
1. <include
       android:id="@+id/include_accompany_bottom"
       layout="@layout/view_accompany_home_bottom_ll"
       app:userInfo='@{userInfo}' />

2. <data>

    <variable
        name="userInfo"
        type="com.buguniaokj.peiwan.json.AccompanyHomeBean" />
    </data>

3.点击事件也要 根bing.inicudebind.setOnClick
Could not find method XX
1.一般情况下可能为为包裹@{}
2.方法的参数有没有传递
view must have a tag
1. View rootView = getActivity().getLayoutInflater().inflate(R.layout.frag_live_new_tab_me_black, null, false);
 
2.databinding = DataBindingUtil.bind(rootView);
    
3.setContentView(rootView);

4.通过以上方法绑定数据
设置onClick 调用方法后无反应
方法调用的哪个类要在activity中new出来并设置
databinding.setClickUtils(new ClickClass());

相关文章

网友评论

      本文标题:dataBinding 入门笔记

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