android databinding绑定教程


首先在  build.gradle文件下添加 下列代码
 
android {
    ....
    dataBinding {
        enabled = true
    }
}


在布局的文件中根据需求 选择引入的对象类型:




   
       
   

           android:orientation="vertical"
       android:layout_width="match_parent"
       android:layout_height="match_parent">
                   android:layout_height="wrap_content"

           android:text="@{user.firstName}"/>


                   android:layout_height="wrap_content"
           android:text="@{user.lastName}"/>
   



引用的对象 :


public class User {
   public final String firstName;
   public final String lastName;
   public User(String firstName, String lastName) {
       this.firstName = firstName;
       this.lastName = lastName;
   }
}


在oncreate文件中根据布局文件名可以生成 (MainActivityBinding)绑定对象
@Override
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   MainActivityBinding binding = DataBindingUtil.setContentView(this, R.layout.main_activity);
   User user = new User("Test", "User");
   binding.setUser(user);
}


如果是在子view中配置则使用一下方法:
ListItemBinding binding = ListItemBinding.inflate(layoutInflater, viewGroup, false);
//or
ListItemBinding binding = DataBindingUtil.inflate(layoutInflater, R.layout.list_item, viewGroup, false);
Event Handling


在xml中设置点击方法:采用的java8的lamad表达式
 android:onClick="@{(view) -> presenter.onSaveClick(task)}"

 
 
     
         
         
     

     
         

你可能感兴趣的:(android,databinding)