Android 反射获取控件
ProgressDialog mBootMsgDialog = new ProgressDialog(mContext);
try {Field file = ProgressDialog.class.getDeclaredField("mMessageView"); // 通过反射获取mMessageView对象,这是类中的成员变量名file.setAccessible(true); //私有变量需要使用此方法TextView textView = (TextView) file.get(mBootMsgDialog); // 获取textView实例,mBootMsgDialog为具体实例textView.setText("text4");//file.set(this,textView);
} catch (Exception e) {e.printStackTrace();
}
上面是已经有了具体的控件实例,需要改变控件中的某个子view,如果已经知道这个具体实例(例如mBootMsgDialog,这是一个ProgressDialog对象),需要改一下这个实例中的message信息字号或者字体颜色之类,我们用这个反射可以很简单。
ps:有个不是用反射,但是也好用的方法,我们去查看xml的布局文件,通过
mBootMsgDialog.getChildAt();获取他的布局LinearLayout,然后一层层往下分解,拿到自己想要的控件,不过这个比较繁琐,但逻辑比较简单,同时,如果你的控件是某个独一无二的,可以用下面的递归找到。
private void setDialogText(View v) {if (v instanceof ViewGroup) {ViewGroup parent = (ViewGroup) v;int count = parent.getChildCount();for (int i = 0; i < count; i++) {View child = parent.getChildAt(i);setDialogText(child);}} else if (v instanceof TextView) {((TextView) v).setTextColor(Color.WHITE); //是textview,设置颜色}}
Android 反射获取控件相关推荐
- 【Android】获取控件的宽和高
有时候我们须要在Activity的时候获取控件的宽和高来做一些操作,以下介绍三种获取宽和高的方式: 1. onWindowFocusChanged @Overridepublic void onWin ...
- android 获取控件在屏幕中的坐标
今天,简单讲讲android如何获取控件在屏幕中的坐标. 这个其实也很简单,但是昨天做一个功能时,需要功能控件的坐标做一些逻辑操作时,居然不知道怎么做.所以在网上查找了资料后,解决了这个问题.这里记录 ...
- android 巧妙利用反射机制获取控件id,避免大量冗杂的findviewbyid和butterknife注解
android 巧妙利用反射机制获取控件id,避免大量冗杂的findviewbyid和butterknife注解 一.反射机制概述 Java 反射机制是在运行状态中,对于任意一个类,都能够获得这个类的 ...
- android自定义view获取控件,android 自定义控件View在Activity中使用findByViewId得到结果为null...
转载:http://blog.csdn.net/xiabing082/article/details/48781489 1. 大家常常自定义view,,然后在xml 中添加该view 组件..如果在 ...
- android 获取控件高度_安卓开发入门教程UI控件_ImageView
什么是ImageView ImageView是用于显示图片的UI控件. 基础样例 1.展示本地图片 效果图 代码 <ImageViewandroid:layout_width="wra ...
- android 获取控件高度_安卓开发入门教程UI控件_ProgressBar
什么是ProgressBar ProgressBar是用于提示用户进行等待的UI控件,. 基础样例 1.loading图 效果图 代码 布局文件代码 <ProgressBarandroid:id ...
- android item 点击 获取position,Android ListView 子控件onClick正确获取position的方法
在实际开发中,我们有时候不仅需要响应ListView的onItemClick,还需要响应其子控件的点击事件,这个时候我们就会 发现,由于复用等原因,如果直接在子控件的onClick事件中调用getVi ...
- android获取控件宽和高
Android获取控件宽高 在项目中用到了测量控件的宽和高,这个在Activity的onCreate去使用控件的getHeight()和getWidth()方法去获取是会失败的,返回的都是0.这是由于 ...
- android 获取控件 id 工具,如何使用appium desktop 获取Android APP 控件的id
背景: 随着Android 版本的更新,你会发现我们之前用的最新的版本的Appium 1.5.3无法启动我们的 Android APP 在模拟器为7.0的设备上,所以我们有必要了解如何使用 appiu ...
最新文章
- 【java 性能优化实战】3 工具实践:如何获取代码性能数据?
- 加密锁 vs. 云授权
- 《易学Python》——1.4 Linux
- C/C++ 踩过的坑和防御式编程
- 13.强符号和弱符号
- 脚本语言程序员怎么学习程序设计?
- 如何为回归问题,选择最合适的机器学习方法?
- 单片机加减法计算器_单片机简易加法计算器程序
- Python基础——文件的读写
- primefaces_Primefaces单选按钮,复选框示例
- python类中的self参数和cls参数
- 201521123054 《Java程序设计》 第2周学习总结
- Ubuntu Thinkphp page not found
- python计算身份证号18位_身份证第18位(校验码)的计算方法
- 敏捷开发模式下SDL实践
- CSDN博客图片调整大小
- 电脑桌面显示计算机信息,在桌面背景图片上显示各种电脑信息BGInfo 4.28
- 移动端web和PC端web的区别汇总笔记
- 你的独立思考能力正在被它吞噬掉
- 网页服务器 根,服务器根域名301重定向到www完整教程
热门文章
- 【实用】python制作公式图像
- 关于 ag-grid 的调研之路
- ag-grid-angular 中导出Excel表格 及其配置
- 我的世界java版地图结构_地图物品格式 - Minecraft Wiki,最详细的官方我的世界百科...
- python学习笔记(四)模块
- 联想拯救者系列,开机动画定制出现,【系统分区的功能异常,建议联系售后】的解决方案
- 签到题-1 装13 (10 分)
- Android 开发从入门到实战
- 一句话弄懂常见二叉树类型
- 从Oracle到MySQL,余额宝云实践分享 20131111(转)