配置
在模块的build.gradle文件中,进行配置,配置好后,代码中可以直接使用
android {
...
buildFeatures {
viewBinding true
}
}
使用
在activity
中创建全局变量
private ActivityMainBinding mBinding;
在onCreate
方法中绑定布局页面
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mBinding = ActivityMainBinding.inflate(LayoutInflater.from(this));
setContentView(mBinding.getRoot());
}
后面需要设置按控件事件或者其他设置的时候,都是直接使用mBinding
进行设置,这里的btnLogin
和btnRegister
在布局文件中的命名分别是btn_login
和btn_register
;
mBinding.btnLogin.setOnClickListener(this);
mBinding.btnRegister.setOnClickListener(this);
onClick
方法中,使用if
进行判断
@Override
public void onClick(View view) {
if (mBinding.btnLogin == view) {
navigateTo(LoginActivity.class);
} else if (mBinding.btnRegister == view) {
navigateTo(RegisterActivity.class);
}
}
这样当多个页面中存在相同命名控件时,当你删除这个页面的该命名控件,对应的地方也会报错,而不是像使用findViewById()
绑定控件并删除了对应控件时,代码中有时候不会显示报错提示。