zoukankan      html  css  js  c++  java
  • 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);
    }
    }
    }
    }

  • 相关阅读:
    ubuntu 安裝QQ ,WEIXIN,百度WP等
    深度学习基础--Bottleneck(瓶颈) Architectures
    sql 函数
    线性回归
    二元逻辑回归
    参数检验
    DrawFrameControl 绘制标准控件
    SetProcessWorkingSetSize 降低程序运行内存
    【转载】VC IME 通信
    【转载】EmptyWorkingSet 程序运行内存整清理
  • 原文地址:https://www.cnblogs.com/gisdream/p/3241104.html
Copyright © 2011-2022 走看看