栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Android应用开发学习—架构组件—Android应用中使用视图绑定(binding)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android应用开发学习—架构组件—Android应用中使用视图绑定(binding)

一. 概述

通过视图绑定功能,您可以更轻松地编写可与视图交互的代码。在模块中启用视图绑定之后,系统会为该模块中的每个 XML 布局文件生成一个绑定类。绑定类的实例包含对在相应布局中具有 ID 的所有视图的直接引用。
在大多数情况下,视图绑定会替代 findViewById。


二. 在Activity中使用视图绑定(binding) 步骤一:在应用级 build.gradle (非项目级build.gradle)文件中开启viewBinding

视图绑定功能启用。需将 viewBinding 元素添加到其 build.gradle 文件中,如下例所示:

    viewBinding {
        enabled = true
    }
步骤二:在Activity Java文件中使用视图绑定功能 2.1 导入ActivityMainBinding
import com.example.demo.databinding.ActivityMainBinding;
2.2 定义binding变量
    // 声明binding用于视图绑定功能
    private ActivityMainBinding binding;
2.3 初始化binding变量
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 使用binding视图绑定功能
        
        // 初始化binding 
        binding = ActivityMainBinding.inflate(getLayoutInflater());
        View view = binding.getRoot();
        setContentView(view);
    }
2.4 使用binding

使用视图绑定功能引用控件,如:
binding.bottomNavigationViewMain

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 使用binding视图绑定功能
        
        // 初始化binding 
        binding = ActivityMainBinding.inflate(getLayoutInflater());
        View view = binding.getRoot();
        setContentView(view);
		//使用视图绑定引用控件bottomNavigationViewMain
        // 为bottomNavigationViewMain设置监听事件setOnNavigationItemSelectedListener,onNavigationItemSelected,用于改变viewPager2Main的CurrentItem
        binding.bottomNavigationViewMain.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
            @SuppressLint("NonConstantResourceId")
            @Override
            public boolean onNavigationItemSelected(@NonNull MenuItem item) {
                return false;
            }
        });

    }

三. 在Fragment中使用视图绑定(binding) 步骤一:在应用级 build.gradle (非项目级build.gradle)文件中开启viewBinding

与在Activity中使用视图绑定(binding)的步骤一相同

步骤二:在Fragment Java文件中使用视图绑定功能 2.1 导入FragmentLoginBinding
import com.example.demo.databinding.FragmentLoginBinding;
2.2 定义binding变量
    // 声明Binding对象
    private FragmentLoginBinding binding;
2.3 初始化binding变量
@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        //使用binding视图绑定功能
        
        binding = FragmentLoginBinding.inflate(inflater, container, false);
        View view = binding.getRoot();
        return view;

    }
2.4 使用binding

使用视图绑定功能引用控件,如:
binding.buttonLoginLogin

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        //使用binding视图绑定功能
        
        binding = FragmentLoginBinding.inflate(inflater, container, false);
        View view = binding.getRoot();

        binding.buttonLoginLogin.setOnClickListener(Navigation.createNavigateOnClickListener(R.id.action_loginFragment_to_mainActivity, null));

        return view;

    }

四. 参考资料

https://developer.android.google.cn/topic/libraries/view-binding


五. 结束语

本文档为博主自主学习Android应用开发过程中的经验总结与心得体会,希望能在读者的学习道路上帮上一点点小忙,共同学习,共同成长。
欢迎读者评论留言,点赞,收藏,分享!


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/672524.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号