曾经老用findViewById,每次使用还得add cast一下今天看到一个视频(依据视频中使用的IDE判断,应该是几年前的视频了..),使用了一个方法,能够不用每次使用findViewById都去add cast.

我依据视频中的写法进行优化,详细做法:

创建一个BaseActivity,让它继承Activity,在当中加入例如以下方法:

//         由于是findView所以泛型类型应该继承Viewprotected <T extends View> T genericFindViewById(int id) {//return返回view时,加上泛型Treturn (T) findViewById(id);}

之后将所用到的Activity都继承BaseACtivity,然后直接使用genericFindViewById来取代findViewById就可以.

转载于:https://www.cnblogs.com/llguanli/p/8449694.html

Android通过泛型简化findViewById类型转换相关推荐

  1. C#泛型简化代码量示例

    泛型简化代码量 下是我在项目中通过泛型来简化工作的一个Demo,记录一下: using System; using System.Collections.Generic; namespace MyCo ...

  2. android的findviewbyid,Android O预览findViewById编译错误

    我试图测试 Android O Developer Preview的第二阶段. 项目创建后,我只是点击了构建并运行但我没有任何成功. Android默认生成的代码如下: Toolbar toolbar ...

  3. 使用Spring和Java泛型简化数据访问层

    1.概述 本文将着重于通过对系统中的所有实体使用单个通用的数据访问对象来简化DAO层 ,这将导致优雅的数据访问 ,而不会造成不必要的混乱或冗长. 2. Hibernate和JPA DAO 大多数生产代 ...

  4. android预览界面编译出错,Android O预览findViewById编译错误

    我试图测试Android O Developer Preview的第二阶段. 项目创建后,我只是点击了构建并运行但我没有任何成功. Android默认生成的代码如下:Toolbar toolbar = ...

  5. android 生成泛型对象,java android解析多层含有泛型对象的json数据获取不到泛型类型解析失败解决办法...

    ####问题描述 * java 解析多层含有泛型对象的json数据获取不到泛型类型 * 如果将泛型改成实际的类型就能正常解析 * 如果不改成实际的类型泛型数据被解析成com.google.gson.i ...

  6. Android——GT-DataBinding(彻底解放 findViewById)

    熟悉 GT 库的朋友们有福了,我们一起来看看获取组件的变化 第一版:Android 原生版本 public class MainActivity extends AppCompatActivity { ...

  7. Android inflate方法与 findViewById 方法区别

    在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById().不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例 ...

  8. android类型强制转换,android中如何进行强制类型转换

    匿名用户 1级 2012-06-21 回答 Java 的自动转换 如果下列2个条件都能满足,那么将一种类型的数据赋给另外一种类型变量时,将执行自动类型转换(automatic type convers ...

  9. Windows Subsystem for Android 安装<简化向>

    总共安装时间≈1小时 (在网速为10MB/s的环境下) 准备: 1. 一台装有Win11的电脑 2. 能用于下载的浏览器 3. 3GB以上的存储空间 详细要求: 1. 电脑是Win11 Beta / ...

最新文章

  1. 【牛客】CSL 的字符串 (stack map)
  2. 无人机寻迹要两个单片机吗_你知道要从哪两个方面选择硬质合金锯片吗?
  3. 知识图谱的皇冠:知识图谱推理的前世今生
  4. 宏定义与const的区别
  5. Matlab Robotic Toolbox V9.10工具箱(六):puma560 动力学建模与仿真
  6. 安装环境 php5.2 mysql_ubuntu安装配置apache2+php5.2+mysql5环境教程
  7. python笔记之序列(list的基本使用和常用操作)
  8. InnerClass内部类
  9. [JS基础] 之类型判断
  10. HTML 中Doctype简单解析
  11. NfcA/NfcB/NfcF/NfcV/IsoDep/Ndef/Mifare/Felica/Pboc/ISOxxxx 标签格式及标准
  12. 适合iPhone13的蓝牙耳机音质比较好有哪些?音质好的蓝牙耳机推荐
  13. 安徽阜阳计算机高中学校排名,安徽最强的五所高中,都是知名实力中学,考上就离名牌大学不远了!...
  14. leet198.打家劫舍
  15. Android 圆形头像的两种实现方式
  16. 洽谈国内单机游戏下载站
  17. 自动化1121和1122班学生链接
  18. forensics - make virtual machine with E01[ewf] files on OSX ———— 电子取证 MAC OS平台仿真
  19. 解决idea 提示 Wrong tag ‘Param‘的问题
  20. koa2的脚手架koa-generator

热门文章

  1. java字体颜色编程_Java 字体颜色转换工具类 ColorUtil
  2. java解析字符串方法_java字符串的截取方法substring()代码解析
  3. 环回测试能够提供什么信息_以太网测试仪的主要功能有哪些?
  4. html input type=quot;filequot;,input[type='file']默认样式
  5. mysql 所有外键_mysql中的外键
  6. mean python_Python mean()方法的详细指南
  7. 简要说明下maven的作用_Maven资料库–简要指南
  8. python入门指南_Python中的逻辑门–入门指南
  9. Android通知,PendingIntent示例
  10. 在Selenium Chrome驱动程序上运行测试