ViewBinding
2020-10-20 本文已影响0人
努力生活的西鱼
ViewBinding
1. 在module的build.gradle中开启视图绑定
android {
...
viewBinding {
enabled = true
}
}
2. 在Activity初始化根据XML视图文件生成的ViewBinding类
public class MainActivity extends AppCompatActivity {
/**
* ViewBinding
*/
private ActivityMainBinding activityMainBinding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
activityMainBinding = ActivityMainBinding.bind(getLayoutInflater()));
setContentView(activityMainBinding.getRoot());
}
}
3. 直接使用id对应的控件
activityMainBinding.textView.setText("View");
activityMainBinding.textView2.setText("binding");
activityMainBinding.textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "TextView", Toast.LENGTH_SHORT).show();
}
});
使用可观察的数据对象
数据类型如下:
- ObservableBoolean
- ObservableByte
- ObservableChar
- ObservableShort
- ObservableInt
- ObservableLong
- ObservableFloat
- ObservableDouble
- ObservableParcelable
修改User类
public class User {
public final ObservableField<String> name = new ObservableField<>();
public final ObservableField<String> password = new ObservableField<>();
public ObservableField<String> getName() {
return name;
}
public ObservableField<String> getPassword() {
return password;
}
}
在Activity修改
dataBindingBinding.btn01.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
user.name.set("MENG");
}
});
可以看到,当我们修改数据的时候,界面的数据会自动改变。