• Android中查找一个Layout中指定的子控件


    我们通常希望查找一个页面中指定类型的控件,单个控件知道id很容易找到,但是如果是多个呢?或者说是在程序中自定义的控件,且不知道id怎么办呢?如想找到页面中的Spinner,可用以下方法

    /**
    * 从当前页面中查找所有的Spinner控件
    * @param group
    * @return
    */
    private Spinner findSpinner(ViewGroup group) {
    if (group != null) {
    for (int i = 0, j = group.getChildCount(); i < j; i++) {
    View child = group.getChildAt(i);
    if (child instanceof Spinner) {
    return (Spinner) child;
    } else if (child instanceof ViewGroup) {
    Spinner result = findSpinner((ViewGroup) child);
    if (result != null)
    return result;
    }


    }
    }
    return null;
    }

    调用方法:findSpinner((ViewGroup) this.getWindow().getDecorView());

    使用改方法可以重置所有的Spinner,而不需要一个个去重置,代码如下:

    /**
    * 重置所有的Spinner控件
    * @param group
    * @return
    */
    private void resetSpinnerSelectItem(ViewGroup group) {
    if (group != null) {
    for (int i = 0, j = group.getChildCount(); i < j; i++) {
    View child = group.getChildAt(i);
    if (child instanceof Spinner) {
    ((Spinner) child).setSelection(0);
    } else if (child instanceof ViewGroup) {
    resetSpinnerSelectItem((ViewGroup) child);
    }
    }
    }
    }

  • 相关阅读:
    20200721_34代码如何优化以及框架的运用和构建设计
    20200719_33appium应用及H5页面元素定位下
    20200709_29多线程与分布式
    day4_day4_python
    python_day3
    python第二天
    pytihon初学第一天
    移动平均线系列
    网页爬取
    十种经典排序算法
  • 原文地址:https://www.cnblogs.com/gisdream/p/3241104.html
Copyright © 2020-2023  润新知