android 官方关于  DataBinding 的说明 

本文基于Android Studio 


1.首先需要在你的项目中增加android databinding 插件和依赖

gradle app 文件中 apply plugin: 'com.android.databinding'

gradle project 文件中 classpath "com.android.databinding:dataBinder:1.0-rc0"


2.编写模型类必须继承自BaseObservable,然后再getter方法中添加@Bindable 注解

public class MainModel extends BaseObservable {

    private String title;
    private String content;

    @Bindable
    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    @Bindable
    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }
}


3.编写布局文件

    xmlns:tools="http://schemas.android.com/tools">

   
                    name="main"
            type="com.lib.androiddatabindingexample.MainModel"/>
   


            android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".MainActivity">

                    android:id="@+id/main_title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="20sp"
            android:textStyle="bold"
            android:text="@{main.title}" />

                    android:id="@+id/main_content"
            android:layout_width="match_parent"
            android:layout_margin="10dp"
            android:layout_below="@id/main_title"
            android:layout_height="wrap_content"
            android:text="@{main.content}" />

   



4.在Activity中配置

public class MainActivity extends Activity {

    ActivityMainBinding activityMainBinding;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        activityMainBinding = DataBindingUtil.setContentView(this, R.layout.activity_main);


        MainModel mainModel = new MainModel();
        mainModel.setTitle("明天会下雨吗?");
        mainModel.setContent("明天不会下雨的,明天不会下雨的,明天不会下雨的,明天不会下雨的,明天不会下雨的");
        activityMainBinding.setMain(mainModel);
    }


}









代码:https://github.com/djgzhiyong/AndroidDataBindingExample.git

更多相关文章

  1. NPM 和webpack 的基础使用
  2. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  3. Android(安卓)Adapter详解
  4. android实现截屏功能
  5. Android(安卓)8.0 报错 android.os.FileUriExposedException exp
  6. 在Android中把SQLite的数据库文件存储在SD卡中【转】
  7. Android用HTTP下载报错“android.os.StrictMode$AndroidBlockGua
  8. android读取plist文件
  9. 使用Android自带的DownloadManager下载文件

随机推荐

  1. Android获取通话状态
  2. android TextView的跑马灯效果的实现
  3. view measure详解
  4. Android通过App启动另一个APP
  5. android shape 常用到属性的设置
  6. Android 通过继承TextView类自定义字体默
  7. android 自定义对话框 背景透明
  8. android中利用itext读取pdf文档
  9. android intent.setType指定浏览本地多种
  10. Android(安卓)EditText得到和失去焦点时,