Android中使用findViewByMe提升组件查找效率

1、引出

安卓初学者一般在写android Activity的时候总是会在onCreate方法中加上setContentView方法来加载layout,通过findViewById来实现控件的绑定,刚开始的演示的layout中只有一两个组件还好,但突然之间接触一个layout中需要部署大量控件,这样就会很耽误时间,还好AndroidStudio为大家提供了方便的插件findViewByMe(大家也可以去了解注解,尤其是编译时的注解,不会影响性能喔)。

2、操作演示

这里演示时,插件我已经提前安装好了,大家可以自行安装,然后重启AndroidStudio即可。

3、注意事项

(1)添加RootView

针对Fragment需要添加rootView这种,首先勾选“Add RootView”;

然后在编辑框中输入rootView的名称,例contentView;

最后点击添加,生成的代码就更新了。

(2)Adapter中的ViewHolder

勾选上“Is ViewHolder”就行了,代码就更新了;

这里的控件变量不再添加任何修饰符。

一些变量得自行去处理,这里不再赘述。

(3)命名规则

控件变量的命名规则:变量命名是根据控件的id来的,例如id是edit_user_name,那么生成的变量名称就是editUserName;

控件变量默认使用private修饰符;

关于添加“m”的问题,这个直接在兑换框中勾选“Add “m””就行了,此时变量命名就变成mEditUserName。

4.补充

也可以使用 https://github.com/boredream/BorePlugin(更加爽快啊)

代码生成规则:

(1)自动遍历目标布局中所有带id的文件, 无id的不会识别处理

(2)控件生成的变量名默认为id名称, 可以在弹出确认框右侧的名称输入栏中自行修改

(3)所有的Button或者带clickable=true的控件, 都会自动在代码中生成setOnClickListener相关代码

(4)所有EditText控件, 都会在代码中生成非空判断代码, 如果为空会提示EditText的hint内容, 如果hint为空则提示xxx字符串不能为空字样, 最后会把所有输入框的验证合并到一个submit方法中

(5)会自动识别布局中的include标签, 并读取对应布局中的控件

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

时间: 2024-10-11 20:14:04

Android中使用findViewByMe提升组件查找效率的相关文章

Android中实现动态切换组件背景的操作

 这个也是昨天学习用到的,总结下思路吧,因为这个知识点以后绝对会再次用到. 目的:我要在软件中动态的选择组件背景,系统皮肤,自定义吐司背景等. 实现思路:要用到安卓中的SharedPrefence的功能,在设置里面写一个控件,设置一个点击监听器,点击的时候显示一个Alert选择弹窗,让你进行选择,对这个弹窗再设置一个点击监听器(onItemListener),点击到具体某个的时候,把对应的点击id保存到sahredprefence里面去,这样,其他地方就可以从这里取得设置里选择的值,进行动态个性

Android中的RecyclerView新组件初步上手指南

介绍 RecyclerView是support-v7包中的新组件,是一个强大的滑动组件,与经典的ListView相比,同样拥有item回收复用的功能,但是直接把viewholder的实现封装起来,用户只要实现自己的viewholder就可以了,该组件会自动帮你回收复用每一个item. 它不但变得更精简,也变得更加容易使用,而且更容易组合设计出自己需要的滑动布局. RecyclerView与ListView原理是类似的:都是仅仅维护少量的View并且可以展示大量的数据集.RecyclerView用

android中sqlite的按条件查找的小例子_Android

name      hobby Tom        football Peter       basketball 我们如果要查找爱好是football的一行数据怎么办呢?在网上找了很多方法,感觉都说不到点子上,所以浪费了很多时间,好在终于解决了,解决方法如下 [java] 复制代码 代码如下: Cursor mcursor=mSQLiteDatabase.query(tableName, new String[]{"id as _id","name","

android中sqlite的按条件查找的小例子

name      hobby Tom        football Peter       basketball 我们如果要查找爱好是football的一行数据怎么办呢?在网上找了很多方法,感觉都说不到点子上,所以浪费了很多时间,好在终于解决了,解决方法如下 [java]复制代码 代码如下:Cursor mcursor=mSQLiteDatabase.query(tableName, new String[]{"id as _id","name","h

Android开发:由模块化到组件化(一)

在Android SDK一文中,我们谈到模块化和组件化,现在我们来聊聊组件化开发背后的哪些事.最早是在广告SDK中应用组件化,但是同样适用于普通应用开发. 以下高能,请做好心理准备,看不懂请发私信来交流.本文不推荐新手阅读,如果你刚接触Android开发不久,请立刻放弃阅读本文. 模块化和组件化 模块化 组件化不是个新概念,其在各行各业都一直备受重视.至于组件化什么时候在软件工程领域提出已经无从考究了,不过呢可以确认的是组件化最早应用于服务端开发,后来在该思想的指导下,前端开发和移动端开发也产生

从源码剖析Android中的Intent组件_Android

我们知道,Intent主要用来激活安卓几大组件,那么它具体是怎样来激活的?激活时是否可以携带java对象?为何要将对象序列化后才能传递? 一.Intent官网解释Intent可以被startActivity用来加载Activity,也可以被broadcastIntent发送给指定的BroadReceiver组件, 或者被startService.bingService来与后台service通信. Intent最主要作用就是加载Activity,好比Activity之间的胶水. Intent数据结

Android编程中的四大基本组件与生命周期详解_Android

本文实例讲述了Android编程中的四大基本组件与生命周期.分享给大家供大家参考,具体如下: Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器. 一:了解四大基本组件 Activity : 应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应. Activity之间通过Intent进行通信.在Intent 的描述结构中,有两个最

详解Android中通过Intent类实现组件间调用的方法_Android

Intent是Android中用来调用其它组件的类,通过Intent,我们可以非常方便的调用Activity,Broadcast Receiver和Service. Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("http://www.baidu.com")); startActivity(intent); 上面这段代码可以用来调用第三方的Activity(启动第三方浏览器来打开百度首页

查找并修复Android中的内存泄露—OutOfMemoryError

[编者按]本文作者为来自南非约翰内斯堡的女程序员 Rebecca Franks,Rebecca 热衷于安卓开发,拥有4年安卓应用开发经验.有点完美主义者,喜爱美食. 本文系国内ITOM管理平台 OneAPM 编译呈现,以下为正文. Android 程序中很容易出现内存泄露问题.毫无戒心的开发者可能每天都会造成一些内存泄露,却不自知.你可能从未注意过这类错误,或者甚至都不知道它们的存在.直到你遇到下面这样的异常: java.lang.OutOfMemoryError: Failed to allo