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

Android将 ViewBinding封装到BaseActivity基类中(Java版)

在Android中使用Java语言将ViewBinding封装到基类中,操作步骤如下:

1、在项目的build.gradle文件中启用了ViewBinding,添加以下代码:

android {...buildFeatures {viewBinding true}
}

2、创建一个名为“BaseActivity”的基类,继承自AppCompatActivity,并使用“泛型参数<VB>表示ViewBinding类型。在这个基类中实现ViewBinding的初始化和绑定。

import androidx.appcompat.app.AppCompatActivity;
import androidx.viewbinding.ViewBinding;public abstract class BaseActivity<VB extends ViewBinding> extends AppCompatActivity {protected VB viewBinding;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);viewBinding = initViewBinding();setContentView(viewBinding.getRoot());initData();}protected abstract VB initViewBinding();/* 子类中:后续具体执行业务逻辑的方法 */protected abstract void initData();
}

3、在具体的Activity中,继承自BaseActivity,并指定“ViewBinding的类型”。例如:Activity名为MainActivity,可以这样实现:

import com.example.demo.databinding.ActivityMainBinding;public class MainActivity extends BaseActivity<ActivityMainBinding> {@Overridepublic ActivityMainBinding  initViewBinding() {return ActivityMainBinding.inflate(LayoutInflater.from(this));}@Overridepublic void init() {//处理具体业务viewBinding.text.setText("hello"); //TextView调用viewBinding.button.setText("hello"); //Button调用}}

http://www.lryc.cn/news/306835.html

相关文章:

  • JSP实现数据传递与保存(一)
  • 【论文笔记之 YIN】YIN, a fundamental frequency estimator for speech and music
  • 水印相机小程序源码
  • NXP实战笔记(八):S32K3xx基于RTD-SDK在S32DS上配置LCU实现ABZ解码
  • 【深度好文】simhash文本去重流程
  • 主流的开发语言和开发环境介绍
  • List去重有几种方式
  • 使用C#+NPOI进行Excel处理,实现多个Excel文件的求和统计
  • 华清远见嵌入式学习——驱动开发——day9
  • formality:set_constant应用
  • sqllabs的order by注入
  • 《The Art of InnoDB》第二部分|第4章:深入结构-磁盘结构-redo log
  • 大模型安全相关论文
  • 回归预测 | Matlab实现PSO-BiLSTM-Attention粒子群算法优化双向长短期记忆神经网络融合注意力机制多变量回归预测
  • [算法沉淀记录] 排序算法 —— 堆排序
  • C++ //练习 9.33 在本节最后一个例子中,如果不将insert的结果赋予begin,将会发生什么?编写程序,去掉此赋值语句,验证你的答案。
  • [corCTF 2022] CoRJail: From Null Byte Overflow To Docker Escape
  • thinkphp6定时任务
  • 支持国密ssl的curl编译和测试验证(上)
  • 包装类详解
  • vue3与vue2的区别
  • SSL OV证书和DV、EV证书的区别
  • 一款.NET下 WPF UI框架介绍
  • 东莞IBM服务器维修之IBM x3630 M4阵列恢复
  • Flask基础学习4
  • mac安装zookeeper
  • IT资讯——全速推进“AI+鸿蒙”战略布局!
  • 数据结构知识点总结-线性表(3)-双向链表定义、循环单链表、、循环双向链表、静态链表、顺序表与链表的比较
  • JAVA学习-控制执行流程.for
  • 面试总结之JVM入门