DataBinding

  • DataBinding是谷歌官方发布的一个框架,它的目的是降低布局和逻辑的耦合性,使代码的逻辑更清晰。它能够很简单的省去findViewById()的步骤,大量减少Activity的代码,数据直接能写在layout文件上,而且它能自动进行空检测,很多地方对象为空不会引起空指针异常。 
  • 配置   



  • 修改xml文件
<?xml version="1.0" encoding="utf-8"?>
<layout
    xmlns:android="http://schemas.android.com/apk/res/android">
    <data>
        <import type="com.sdhmw.dtwb2.model.Table_1" />
        <import type="com.sdhmw.dtwb2.main.Fragment_Table_1.OnClickListener_Table_1" />


        <variable
            name="table"
            type="Table_1"/>

        <variable
            name="click"
            type="OnClickListener_Table_1" />



    </data>
<TextView
                        android:tag="@string/BG_BH"
                        android:onClick="@{click.onClick}"
                        android:text="@{table.BG_BH}"
                        android:id="@+id/tv_BG_BH"
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        android:background="@drawable/table_tv_click"
                        android:gravity="center"
                        android:padding="8dp"
                        android:textSize="15sp" />


private static FragmentTable1Binding binding;
@Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {


        binding = DataBindingUtil.inflate(inflater, R.layout.fragment_table_1, container, false);


        View rootView = binding.getRoot();


        initData();

        initView(rootView);

        initListener();


        return rootView;
    }

    private void initListener() {

        //click
        binding.setClick(new OnClickListener_Table_1());

    }

点击事件

//view绑定的onclick
    public class OnClickListener_Table_1 {

        public void onClick(View view) {


绑定Table

//绑定
        table = new Table_1();
        binding.setTable(table);



无非分两种情况:

一个是页面数据的显示:

当时一开始想使用Table_1里面的tostring解析json,后来就不用了。

table.setSGDWMC(list2.get(i).getSGDWMC());
binding.tvBGBH.setText()

另一个是页面数据的获取:

String BG_BH = binding.tvBGBH.getText().toString();







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿姨不可以嘛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值