当前位置: 首页 > news >正文

推广网站可以做跳转吗成都公司网页制作电话

推广网站可以做跳转吗,成都公司网页制作电话,制作软件的工作叫什么,wordpress 子页面文章目录 介绍作用用法开启ViewBinding功能自动生成绑定类在Activity中使用访问视图控件 区别 介绍 ViewBinding 是 Android 开发中的一个功能,它简化了访问视图的过程,避免了使用 findViewById 的繁琐步骤。它通过生成与布局文件相对应的绑定类&#xf…

文章目录

  • 介绍
  • 作用
  • 用法
    • 开启`ViewBinding`功能
    • 自动生成绑定类
    • 在Activity中使用
    • 访问视图控件
  • 区别

介绍

ViewBinding 是 Android 开发中的一个功能,它简化了访问视图的过程,避免了使用 findViewById 的繁琐步骤。它通过生成与布局文件相对应的绑定类,使得我们能够以类型安全的方式访问布局中的视图。

作用

视图绑定功能可让您更轻松地编写与视图交互的代码。在模块中启用视图绑定后,它会为该模块中显示的每个 XML 布局文件生成一个绑定类。绑定类的实例包含对在相应布局中具有 ID 的所有视图的直接引用。

在大多数情况下,视图绑定会替代 findViewById

用法

开启ViewBinding功能

bulid.gradle.kts中启用

不需要包含任何额外的库来启用视图绑定。从 Android Studio 3.6 中附带的版本开始,它内置于 Android Gradle 插件中。要启用视图绑定,需要在模块级 build.gradle 文件中配置 viewBinding

image-20240718211841342

image-20240718211854902
 buildFeatures{viewBinding = true}

完成后点击sync now同步

自动生成绑定类

绑定类会在编译时自动生成,位于 build/generated/data_binding_base_class_source_out 目录下。

绑定类包含了与 activity_main.xml 布局文件中定义的所有视图的绑定引用

image-20240718221829984

绑定类命名规则

去掉下划线并将每个单词首字母大写(PascalCase)

  • 布局文件名:fragment_sample_list.xml activity_main.xml
  • 生成的绑定类名:FragmentSampleListBinding ActivityMainBinding

在Activity中使用

image-20240719090719804
  1. 声明全局变量
 private ActivityMainBinding binding;

这里ActivityMainBinding类就是步骤2中自动生成的绑定类的名字

  1. 绑定对象
binding = ActivityMainBinding.inflate(getLayoutInflater());

inflate

ActivityMainBinding.inflate 方法是由 ViewBinding 功能自动生成的一个静态方法。它用于创建 ActivityMainBinding 实例。这个方法会解析布局文件 activity_main.xml,并返回一个绑定对象,通过这个对象可以访问布局中的所有视图。

getLayoutInflater

getLayoutInflater 方法是 Activity 类中的一个方法,它用于获取当前 ActivityLayoutInflater 对象。LayoutInflater 是一个用于解析 XML 布局文件并将其转换为相应的视图对象的类。

总结:

  1. 调用 getLayoutInflater 方法获取当前活动的 LayoutInflater 实例。

  2. 使用这个 LayoutInflater 实例调用 ActivityMainBinding.inflate 方法,解析 activity_main.xml 布局文件,并创建一个 ActivityMainBinding 实例。

  3. ActivityMainBinding 实例会包含对 activity_main.xml 布局文件中所有视图的引用。通过这个绑定对象,你可以直接访问布局文件中的视图,而无需使用 findViewById 方法。

  1. 设置内容视图
setContentView(binding.getRoot());

使用setContentView将布局文件加载到当前活动中时,通过binding.getRoot()获取布局资源ID

代码示例:

   public class MainActivity extends AppCompatActivity {// 声明 ViewBinding 全局变量private ActivityMainBinding binding;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 使用 ViewBinding 加载布局binding = ActivityMainBinding.inflate(getLayoutInflater());// 设置当前活动的内容视图为绑定的根视图setContentView(binding.getRoot());}
}

访问视图控件

通过绑定对象,可以直接访问布局文件中的视图控件。

 binding.tv1.setText("修改后");

通过 ViewBinding 直接访问 activity_main.xml 布局文件中的 TextView 控件

image-20240719092932642

 	    binding.tv1.setText("修改后");binding.btn1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(MainActivity.this, "按钮点击", Toast.LENGTH_SHORT).show();}});

区别

与 findViewById 的区别

与使用 findViewById 相比,视图绑定具有一些很显著的优点:

  • Null 安全:由于视图绑定会创建对视图的直接引用,因此不存在因视图 ID 无效而引发 null 指针异常的风险。此外,当视图仅存在于布局的某些配置中时,绑定类中包含其引用的字段会标记为 @Nullable
  • 类型安全:每个绑定类中的字段都具有与其在 XML 文件中引用的视图相匹配的类型。这意味着不存在发生类转换异常的风险。

这些差异意味着布局和代码不兼容,会导致 build 在编译时(而不是运行时)失败。



感谢您的阅读
如有错误烦请指正


参考:

  1. Android开发解放双手的利器ViewBinding
  2. 视图绑定 | Android Developers
  3. 使用视图绑定替代findViewById
http://www.yayakq.cn/news/923390/

相关文章:

  • 外包服务合同重庆seo职位
  • 三北防护林体系建设网站合肥专业手机网站制作价格
  • 大连网站模板建站西安网站制作服务商
  • 云南省红河州蒙自建设局网站网站建设需求分析调研
  • 网站优化方案和实施网站建立需要什么技术
  • 网站备案 取消招代理最好的推广方式
  • 叮当设计网站福州企业名录
  • 外国做爰网站多少钱用英语怎么说
  • 做网站做哪个温州最新消息
  • 番禺网站开发哪家好网站建设的合理建议
  • 免费建网站软件下载软件开发与网站开发
  • 网站一般在哪里找以前可以做视频的网站
  • 网站开发询价单网站制作视频教学
  • 临城网站建设玉环城乡建设规划局网站
  • 网站界面设计的表现家在龙岗
  • 网站做背景不显示上海移动网站开发
  • 湖州市住房和城乡建设局网站怎么样才能引流客人进店
  • 音乐网站制作php招聘网站开发文档
  • 电影网站源码程序wordpress即时聊天
  • 在那儿能找网站建设35互联做的网站
  • 如何做优惠券网站土木工程毕业设计网站
  • 如何设置网站域名多张图做网站背景
  • 青色系 网站做网站公司联系方式页面
  • 网站建设的方案书网站建设 开发
  • 北京网站手机站建设公司电话网站百度不到验证码怎么办啊
  • 网站建设评比标准网页设计尺寸的赏析
  • 北京都有那些做网站的公司建设美食电子商务网站
  • 企业网站推广计划免费crm试用
  • 泉州英文网站建设网站备案需要费用吗
  • 响应式网站免费模板下载p2p的网站开发