2014-02-15 63 views
1

我有一个活动11周的ToggleButtons,并且在目前,在OnCreate我声明的11周的ToggleButtons阵列,是我在的onCreate(定义),像:如何初始化视图(ToggleButtons)数组?

private static ToggleButton toggleButton[] = new ToggleButton[11]; 

...

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    toggleButton[0] = (ToggleButton) findViewById(R.id.ToggleButton00); 
    toggleButton[1] = (ToggleButton) findViewById(R.id.ToggleButton01); 
    toggleButton[2] = (ToggleButton) findViewById(R.id.ToggleButton02); 
    toggleButton[3] = (ToggleButton) findViewById(R.id.ToggleButton03); 
    toggleButton[4] = (ToggleButton) findViewById(R.id.ToggleButton04); 
    toggleButton[5] = (ToggleButton) findViewById(R.id.ToggleButton05); 
    toggleButton[6] = (ToggleButton) findViewById(R.id.ToggleButton06); 
    toggleButton[7] = (ToggleButton) findViewById(R.id.ToggleButton07); 
    toggleButton[8] = (ToggleButton) findViewById(R.id.ToggleButton08); 
    toggleButton[9] = (ToggleButton) findViewById(R.id.ToggleButton09); 
    toggleButton[10] = (ToggleButton) findViewById(R.id.ToggleButton10); 

我确定应该有更好的方法(如循环),任何想法?你会怎么做?

+0

你可以在布局循环它的自我,在这种循环 –

回答

1

试试这个代码:

ToggleButton toggleButton[] = new ToggleButton[11]; 
    int arrayindex = 0; 
    int viewcount = 0; 
    while (arrayindex < 11) { 

     View v = asyncLayout.getChildAt(viewcount); 
     if (v instanceof ToggleButton) { 

      toggleButton[arrayindex] = (ToggleButton) v; 
      arrayindex ++; 
     } 
     viewcount ++ ; 

    } 

喂我回任何问题

+0

分配给每个切换按钮,以阵列有可能是任何数量的AREN孩子't ToggleButtons。所以toggleButton []可以很容易地超出界限并导致异常。 – NickT

+0

这不是最终的代码,它只是为了澄清这个想法,我不知道它的布局,只是11 togglebutton,顺便说一下我会修改代码 –

+0

@NickT我修改了代码,并测试它与不是' t ToggleButtons –