как ВИДЕТЬ кнопку случайно - PullRequest
0 голосов
/ 21 апреля 2020

в макете есть 5 кнопок, которые я сделал их невидимыми ранее, а также я сгенерировал случайное число от 1 до 5. Я хочу знать, как связать эти числа с кнопками, например, если случайное число было 1, то первая кнопка должна быть видимой. на самом деле я хочу избежать использования операторов if и switch, подобных этому

Button btn_1 = (Button) findViewById(R.id.btn_1);
.
.
.
Button btn_5 = (Button) findViewById(R.id.btn_5);
int a = new Random().nextInt(4)+1;

if(a==1){
btn_1.setVisibility(View.VISIBLE);}else....

1 Ответ

0 голосов
/ 21 апреля 2020

просто поместите все кнопки в массив, случайным образом получите число от 0 до 4 и установите видимость по случайно сгенерированному числу в качестве индекса. buttonsArray.get(generatedNumber).setVisibility(VISIBLE);

Вот полный рабочий код:

        Button btn_1 = (Button) findViewById(R.id.btn_1);
        Button btn_2 = (Button) findViewById(R.id.btn_2);
        Button btn_3 = (Button) findViewById(R.id.btn_3);
        Button btn_4 = (Button) findViewById(R.id.btn_4);
        Button btn_5 = (Button) findViewById(R.id.btn_5);

        ArrayList<Button> buttons = new ArrayList<Button>();
        buttons.add(btn_1);
        buttons.add(btn_2);
        buttons.add(btn_3);
        buttons.add(btn_4);
        buttons.add(btn_5);

        int maximum = buttons.size() - 1;
        int minimum = 0;

        Random rn = new Random();
        int range = maximum - minimum + 1;
        int randomNumber = rn.nextInt(range) + minimum;

        Button randomButton = buttons.get(randomNumber);

        randomButton.setVisibility(View.VISIBLE);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...