博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android DataBinding使用1-普通页面
阅读量:4056 次
发布时间:2019-05-25

本文共 2201 字,大约阅读时间需要 7 分钟。

1.实现需求

页面上有两个textview,根据传入数据进行数据展示,修改bean后,页面自动更新

DataBinding使用配置

1.app下build.gradle android节点下设置 true

dataBinding{        enabled=true    }

2.设置bean

public class User extends BaseObservable {    private String name;    private String pass;    private int viewType;    //bean的内部子bean    private ObservableList
innerBeans; //设置这个才能自动更新-1 @Bindable public String getName() { return name; } public void setName(String name) { this.name = name; //设置这个才能自动更新-2 notifyPropertyChanged(BR.name); } @Bindable public String getPass() { return pass; } public void setPass(String pass) { this.pass = pass; notifyPropertyChanged(BR.pass); } public int getViewType() { return viewType; } public void setViewType(int viewType) { this.viewType = viewType; } public ObservableList
getInnerBeans() { return innerBeans; } public void setInnerBeans(ObservableList
innerBeans) { this.innerBeans = innerBeans; }}

3.xml

4.建立绑定关系

当在xml使用layout标签后,会自动生成xml名字+Binding的文件,设置view的时候就不再使用setcontenview,而使用其他的,如下:

com.example.testmvvm.databinding.ActivityMainBinding activityMainBinding                = DataBindingUtil.setContentView(this, R.layout.activity_main);

设置数据源

//文字的显示        User user = new User();        user.setName("name");        user.setPass("pass");        activityMainBinding.setUser(user);//点击事件的设置        activityMainBinding.setHandlers(new Handlers(activityMainBinding));

5.点击事件  点击并更新数据;输入变化后更新数据

public class Handlers {    private ActivityMainBinding activityMainBinding;    public Handlers(ActivityMainBinding activityMainBinding) {        this.activityMainBinding = activityMainBinding;    }    public void clickName(View view){        Log.e("收到name的点击事件","===");        activityMainBinding.getUser().setName("我是更新后的名字");    }    public void afterInputChange(Editable editable){        Log.e("收到输入框文字变化事件",""+editable.toString());        activityMainBinding.getUser().setPass(""+editable.toString());    }}

 

转载地址:http://pxeci.baihongyu.com/

你可能感兴趣的文章
VC++ MFC SQL ADO数据库访问技术使用的基本步骤及方法
查看>>
VUE-Vue.js之$refs,父组件访问、修改子组件中 的数据
查看>>
Python自动化之pytest常用插件
查看>>
Python自动化之pytest框架使用详解
查看>>
【正则表达式】以个人的理解帮助大家认识正则表达式
查看>>
性能调优之iostat命令详解
查看>>
性能调优之iftop命令详解
查看>>
非关系型数据库(nosql)介绍
查看>>
移动端自动化测试-Windows-Android-Appium环境搭建
查看>>
Xpath使用方法
查看>>
移动端自动化测试-Mac-IOS-Appium环境搭建
查看>>
Selenium之前世今生
查看>>
Selenium-WebDriverApi接口详解
查看>>
Selenium-ActionChains Api接口详解
查看>>
Selenium-Switch与SelectApi接口详解
查看>>
Selenium-Css Selector使用方法
查看>>
Linux常用统计命令之wc
查看>>
测试必会之 Linux 三剑客之 sed
查看>>
Socket请求XML客户端程序
查看>>
Java中数字转大写货币(支持到千亿)
查看>>