获取activity上所有指定类型的控件

Android获取所有指定类型的子控件,这样就不需要逐个使用findViewByID来获取控件,来达到控制状态的目的了。

/**
  * 获取所有指定类型的子控件
  * @param T
  * @return
  */
 private List<View> getAllChildViews(Class<?> T) {

  View view = this.getWindow().getDecorView();

  return getAllChildViews(view, T);

 }
 private List<View> getAllChildViews(View parent, Class<?> T) {

  List<View> allchildren = new ArrayList<View>();

  if (parent instanceof ViewGroup) {

   ViewGroup vp = (ViewGroup) parent;

   for (int i = 0; i < vp.getChildCount(); i++) {

    View viewchild = vp.getChildAt(i);

    if (viewchild.getClass().equals(T)) {
     allchildren.add(viewchild);
    }

    allchildren.addAll(getAllChildViews(viewchild, T));

   }

  }

  return allchildren;
 }
时间: 2024-11-27 19:26:53

获取activity上所有指定类型的控件的相关文章

[开源]在iOS上实现Android风格的控件Toast

[开源]在iOS上实现Android风格的控件Toast    iOS的风格和Apple其他产品一样,简单而粗暴.没有给人其他选择的余地,让你又爱又恨.同样的,Apple对待iOS平台的开发人员和对待大众消费者一样,也不给你留余地.UIAlertView就是一个鲜明标志.功能简单,甚至单一,定制性差,消耗资源.在资源紧张的设备上,UIAlertView的动画效果都会稍微卡一下,很是别扭. 这时还是很希望在iOS上有一个Android风格的Toast控件. 终于http://code.google

XMOVE3.0手持终端——软件介绍(二):在2KB内存的单片机上实现的彩屏GUI控件库

一. 综述 嵌入式系统发展日新月异,安卓和ios已然战胜了当年雄霸天下的塞班,界面是我们特别看重的因素之一.不过你考虑过自己做一套系统,写一个界面库么?在单片机上自制系统,可以很好的锻炼编程能力和架构设计能力. 这些界面库都是在底层画点画线的驱动程序上实现的,基于我的XMOVE动作感应系统.基本具有硬件无关性.支持彩屏320*240的分辨率,由于考虑不同分辨率的开发过分复杂(想想看你需要计算每个点布局在哪个位置,这对安卓等系统都是大问题),因此我并没有太过完善的考虑过其他分辨率. 我已经写过一篇

tableview cell更新ui-iOS cell 上用定时器更新一个控件,一闪一闪的,求问怎么解决

问题描述 iOS cell 上用定时器更新一个控件,一闪一闪的,求问怎么解决 我用tableview做了一个注册页面,上面发送验证码需要60秒内不可重复发送,我把这个按钮用定时器倒计时了,可是更新起来是一闪一闪的更新,怎么能让他不闪,求大神指教,多谢. 解决方案 不要去刷新cell 获取到这个button (比如全局,设置tag 用 viewWithTag 去取 或者 在自定义的cell 把button作为一个可以外部使用的对象来定义[如果你cell和viewcontroller是分开写的话]

android-Android 在Activity中动态得到frament的控件

问题描述 Android 在Activity中动态得到frament的控件 Android 在Activity中动态得到frament的控件 解决方案 这个可以不? 解决方案二: Fragment写好后, 要在哪个 Activity添加fragment如下做: 在Activity 声明 private ArrayList fmList; 初始化界面方法中写: fm1 = new Fragment1(); fm2 = new Fragment2(); fmList = new ArrayList<

fragment-包含Fragment的ViewPagerActivity如何获取到该Fragment布局中的控件

问题描述 包含Fragment的ViewPagerActivity如何获取到该Fragment布局中的控件 上代码,这是我自己写的,但是没效果 View view = View.inflate(this, R.layout.fragment2, null); wv = (WebView) view.findViewById(R.id.wv); 解决方案 http://www.eoeandroid.com/thread-258969-1-1.html 解决方案二: http://www.apkbu

statusbar控件上加载进度条控件,怎么在按钮和进度条间切换呢?

问题描述 statusbar控件上加载进度条控件,怎么在按钮和进度条间切换呢? statusbar控件上加载进度条控件,当加载完成,进度条消失,显示按钮,再次加载的时候隐藏按钮显示进度条,怎么在按钮和进度条间切换呢? 解决方案 你可以定义两个panel,分别加载按钮和进度条,需要哪个就显示哪个. 解决方案二: 进度条控件 解决方案三: 按钮和进度条你肯定都能访问到,通过设置visible控制

C# winform 关于ToolStrip控件工具项拖动到指定的Panel控件中

问题描述 C# winform 关于ToolStrip控件工具项拖动到指定的Panel控件中 C# Winform项目中,在form窗体中有一个ToolStrip控件(用于放所有的系统的功能项,目前大概有将近15个功能项,后续会陆续增加应用的功能项), 两个Panel控件(panel1和panel2控件是两个目标区,用于将ToolStrip控件中的子项拖放到的目标区域,在目标区域中打开或执行ToolStrip控件子项) 请问下,怎么样实现如下两个功能: 1.实现鼠标选中ToolStrip控件的子

后台管理系统上的一个百度地图控件无法显示地图问题!

问题描述 后台管理系统上的一个百度地图控件无法显示地图问题! 谷歌,ie都测试可以显示,唯独火狐不显示,测试火狐版本为最新版!

获取table中的repeater内某个控件

问题描述 获取table中的repeater内某个控件 很长时间没做bs的项目了 有这么一个问题 在页面中有个table,table中的某一个tr的td内加了一个repeater控件 如以下代码(部分) <asp:Repeater ID="Repeater1" runat="server"> <ItemTemplate> <tr> <td bgcolor="#FFFFFF" style="dis