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 反射获取控件相关推荐

  1. 【Android】获取控件的宽和高

    有时候我们须要在Activity的时候获取控件的宽和高来做一些操作,以下介绍三种获取宽和高的方式: 1. onWindowFocusChanged @Overridepublic void onWin ...

  2. android 获取控件在屏幕中的坐标

    今天,简单讲讲android如何获取控件在屏幕中的坐标. 这个其实也很简单,但是昨天做一个功能时,需要功能控件的坐标做一些逻辑操作时,居然不知道怎么做.所以在网上查找了资料后,解决了这个问题.这里记录 ...

  3. android 巧妙利用反射机制获取控件id,避免大量冗杂的findviewbyid和butterknife注解

    android 巧妙利用反射机制获取控件id,避免大量冗杂的findviewbyid和butterknife注解 一.反射机制概述 Java 反射机制是在运行状态中,对于任意一个类,都能够获得这个类的 ...

  4. android自定义view获取控件,android 自定义控件View在Activity中使用findByViewId得到结果为null...

    转载:http://blog.csdn.net/xiabing082/article/details/48781489 1.  大家常常自定义view,,然后在xml 中添加该view 组件..如果在 ...

  5. android 获取控件高度_安卓开发入门教程UI控件_ImageView

    什么是ImageView ImageView是用于显示图片的UI控件. 基础样例 1.展示本地图片 效果图 代码 <ImageViewandroid:layout_width="wra ...

  6. android 获取控件高度_安卓开发入门教程UI控件_ProgressBar

    什么是ProgressBar ProgressBar是用于提示用户进行等待的UI控件,. 基础样例 1.loading图 效果图 代码 布局文件代码 <ProgressBarandroid:id ...

  7. android item 点击 获取position,Android ListView 子控件onClick正确获取position的方法

    在实际开发中,我们有时候不仅需要响应ListView的onItemClick,还需要响应其子控件的点击事件,这个时候我们就会 发现,由于复用等原因,如果直接在子控件的onClick事件中调用getVi ...

  8. android获取控件宽和高

    Android获取控件宽高 在项目中用到了测量控件的宽和高,这个在Activity的onCreate去使用控件的getHeight()和getWidth()方法去获取是会失败的,返回的都是0.这是由于 ...

  9. android 获取控件 id 工具,如何使用appium desktop 获取Android APP 控件的id

    背景: 随着Android 版本的更新,你会发现我们之前用的最新的版本的Appium 1.5.3无法启动我们的 Android APP 在模拟器为7.0的设备上,所以我们有必要了解如何使用 appiu ...

最新文章

  1. 【java 性能优化实战】3 工具实践:如何获取代码性能数据?
  2. 加密锁 vs. 云授权
  3. 《易学Python》——1.4 Linux
  4. C/C++ 踩过的坑和防御式编程
  5. 13.强符号和弱符号
  6. 脚本语言程序员怎么学习程序设计?
  7. 如何为回归问题,选择最合适的机器学习方法?
  8. 单片机加减法计算器_单片机简易加法计算器程序
  9. Python基础——文件的读写
  10. primefaces_Primefaces单选按钮,复选框示例
  11. python类中的self参数和cls参数
  12. 201521123054 《Java程序设计》 第2周学习总结
  13. Ubuntu Thinkphp page not found
  14. python计算身份证号18位_身份证第18位(校验码)的计算方法
  15. 敏捷开发模式下SDL实践
  16. CSDN博客图片调整大小
  17. 电脑桌面显示计算机信息,在桌面背景图片上显示各种电脑信息BGInfo 4.28
  18. 移动端web和PC端web的区别汇总笔记
  19. 你的独立思考能力正在被它吞噬掉
  20. 网页服务器 根,服务器根域名301重定向到www完整教程

热门文章

  1. 【实用】python制作公式图像
  2. 关于 ag-grid 的调研之路
  3. ag-grid-angular 中导出Excel表格 及其配置
  4. 我的世界java版地图结构_地图物品格式 - Minecraft Wiki,最详细的官方我的世界百科...
  5. python学习笔记(四)模块
  6. 联想拯救者系列,开机动画定制出现,【系统分区的功能异常,建议联系售后】的解决方案
  7. 签到题-1 装13 (10 分)
  8. Android 开发从入门到实战
  9. 一句话弄懂常见二叉树类型
  10. 从Oracle到MySQL,余额宝云实践分享 20131111(转)