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

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

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;
 }
相关文章
|
8月前
activity中加载fragment的控件 在fragment 中调用activity中的控件
activity中加载fragment的控件 在fragment 中调用activity中的控件
60 0
|
XML 移动开发 Android开发
activity中加载fragment的控件]
fragment它自己的中文意思:碎片; 一个可以将activity拆分成几个完全独立封装的可重用的组件,每个组件有自己的生命周期和ui布局。
316 1
activity中加载fragment的控件]
Activity中getIntent为什么获取不到值?
Activity中getIntent为什么获取不到值?
455 0
|
Android开发 数据安全/隐私保护
浅谈EditText控件的inputType类型
android:inputType="none"--默认 android:inputType="text"--输入文本字符 android:inputType="textCapCharacters"--字母大写 android:inputType="textCapWords"...
1274 0

热门文章

最新文章