获取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;
 }
相关文章
|
4月前
activity中加载fragment的控件 在fragment 中调用activity中的控件
activity中加载fragment的控件 在fragment 中调用activity中的控件
33 0
|
2月前
EditText 的一些软键盘属性和回调
EditText 的一些软键盘属性和回调
26 0
|
Android开发
Android 获取include标签中的控件属性并设置事件
Android 获取include标签中的控件属性并设置事件
173 0
|
Android开发
android设置一个通用的控件,比如返回按钮
首先,我们的思路是让我们的写一个基础的Activity,让要使用通用控件的Activity继承它,代码如下:
81 0
|
XML 移动开发 Android开发
activity中加载fragment的控件]
fragment它自己的中文意思:碎片; 一个可以将activity拆分成几个完全独立封装的可重用的组件,每个组件有自己的生命周期和ui布局。
283 1
activity中加载fragment的控件]
【JetPack】视图绑定 ( ViewBinding ) 各种应用 ( 视图绑定两种方式 | Activity 布局 | 对话框布局 | 自定义组件布局 | RecyclerView 列表布局 )
【JetPack】视图绑定 ( ViewBinding ) 各种应用 ( 视图绑定两种方式 | Activity 布局 | 对话框布局 | 自定义组件布局 | RecyclerView 列表布局 )
559 0
【JetPack】视图绑定 ( ViewBinding ) 各种应用 ( 视图绑定两种方式 | Activity 布局 | 对话框布局 | 自定义组件布局 | RecyclerView 列表布局 )
|
Android开发 数据安全/隐私保护
浅谈EditText控件的inputType类型
android:inputType="none"--默认 android:inputType="text"--输入文本字符 android:inputType="textCapCharacters"--字母大写 android:inputType="textCapWords"...
1256 0