在Activity中循环通过Togglebuttons

时间:2011-05-29 00:26:49

标签: java android widget togglebutton

我希望在一个活动中遍历我所拥有的所有Togglebutton并执行以下两项操作之一。在一种情况下,我想设置它们的值,在另一种情况下,我想要读取它们的值。这是最简单的方法来循环遍历孩子,尝试检查他们的类型togglebutton然后预先形成前面提到的任务?

我会使用这样的东西吗?

     for (int i = 0; i < rootView.getChildCount(); i++)
       if (Widget_Tag != null){   
       View Current_Widget = (View) rootView.getChildAt(i);          
       String Widget_Tag = (String) Current_Widget.getTag();
       if (Widget_Tag.equals("MyToggleButton")) {
         //do something
       }
     }

** * *** 更新 * ** * **

工作代码如下(感谢答案),我嵌套了另一个for循环,为我的ToggleButtons挖掘了一个子图层:

    ViewGroup rootView = (ViewGroup) findViewById(R.id.LayoutHere);
    for (int i = 0; i < rootView.getChildCount(); i++) {
      ViewGroup nextLayout = (ViewGroup) rootView.getChildAt(i);
      for (int i2 = 0; i2 < nextLayout.getChildCount(); i2++) {
          View Current_Widget = nextLayout.getChildAt(i2);          
            if(Current_Widget instanceof ToggleButton) 
            {                     
              //Do Something
            }                         
      }         
    }

1 个答案:

答案 0 :(得分:1)

如果您使用ToggleButton“MyToggleButton”为String标记了这样的内容,那么您正在做的事情会有效:

ToggleButton button = getSomeToggleButton();
button.setTag("MyToggleButton");

如果您之前没有做过类似的事情,那么您的代码段将无效。您可以对每个instanceof进行View检查。

if(Current_Widget instanceof ToggleButton) {// or instanceof MyToggleButton if that is a class of yours...
    //do something
}