一、什么是view binding
- 视图绑定会替代 findViewById
通过视图绑定功能,您可以更轻松地编写可与视图交互的代码。在模块中启用视图绑定之后,系统会为该模块中的每个 XML 布局文件生成一个绑定类。绑定类的实例包含对在相应布局中具有 ID 的所有视图的直接引用。
android studio 必须是3.6及更高版本。 com.android.tools.build:gradle 需要 3.6.0及更高版本。 build.gradle 中启用功能,不同模块要分别设置。
- 使用 设置
buildFeatures {
viewBinding = true
}
- 在Activity中使用
public class MainActivity extends AppCompatActivity {
private ActivityMainBinding mainBinding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mainBinding = ActivityMainBinding.inflate(getLayoutInflater());
View view=mainBinding.getRoot();
setContentView(view);
mainBinding.tv.setText("sss");
}
}
- 在Fragment中使用
public class MineFragment extends Fragment{
private ActivityMineFragmentBinding binding;
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
binding = ActivityMineFragmentBinding.inflate(inflater, container, false);
return binding.getRoot();
}