2014-02-15 4 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

вы можете цикл на макете он сам и присвоить каждому ToggleButton в массив в этом цикле –

ответ

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

Там может быть любое количество детей, которые Арен 't ToggleButtons. Таким образом toggleButton [] может легко выйти за пределы и вызвать исключение. – NickT

+0

Это не окончательный код, это просто для того, чтобы прояснить идею, я не знаю ее компоновки, всего лишь 11 togglebutton, кстати я буду изменять код –

+0

@NickT я изменил код и протестировал его с детьми, t ToggleButtons –