0

我正在寻找循环浏览我在一项活动中拥有的所有切换按钮并做两件事之一。在一种情况下,我想设置它们的值,在另一种情况下,我想读取它们的值。最简单的方法是循环遍历孩子,尝试检查他们的切换按钮类型,然后执行前面提到的任务?

我会用这样的东西吗?

     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
            }                         
      }         
    }
4

1 回答 1

1

如果您使用“MyToggleButton”标记了您ToggleButton的 's,那么您正在做的事情将起作用,如下所示: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
}
于 2011-05-29T00:32:55.293 回答