美文网首页
ViewBinding

ViewBinding

作者: 努力生活的西鱼 | 来源:发表于2020-10-20 23:24 被阅读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");
    }
});

可以看到,当我们修改数据的时候,界面的数据会自动改变。

相关文章

网友评论

      本文标题:ViewBinding

      本文链接:https://www.haomeiwen.com/subject/odwjmktx.html