Android / Java «Конвертировать» String to Button

У меня есть этот код:

Button button1 = (Button) findViewById(R.id.button1); Button button2 = (Button) findViewById(R.id.button2); String object = "button"; int num; num = r.nextInt(3 - 1) + 1; String total = object + num; 

Я хочу, чтобы текст для одной из выбранных кнопок был выбран случайным образом. Что-то вроде этого:

 button<num>.setText(some_text); ^ here instead of <num> should be 1 or 2 and has to be chosen randomly 

Как сказал Ondkloss, вы можете добавить свои кнопки в массив, а затем произвольно выбрать один из этого массива.

 Button[] buttonArray = new Button[2]; buttonArray[0] = button1; buttonArray[1] = button2; Random r = new Random(); buttonArray[r.nextInt(2)].setText(someRandomText); 

Имейте в виду, что если вы измените количество кнопок, вам нужно будет изменить числа, которые я использовал ( new Button[ 2 ] & r.nextInt( 2 ) ). Мое решение работает специально для массива длиной 2, содержащего только 2 кнопки. Но помимо изменения числа в создании массива и генерации случайного числа в соответствии с количеством кнопок, которое у вас есть, это решение должно работать нормально.

Нет, я хочу изменить текст кнопки.

Тогда просто сделайте что-нибудь подобное

 button1.setText("Just some strings here");