Ответы пользователя по тегу Android
  • Как сделать, чтобы в методе с использованием оператора Thread.sleep() программа работала поочередно?

    @Alecxandrys
    Не надо тормозить главный поток подобным образом
    Гораздо правильнее будет воспользоваться Timer.shedule и отдать ему TimerTask
    but.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    String vz = otv1.getText().toString();
                    int otv11 = Integer.parseInt(vz);
                    if (sum == otv11) {
                        txt3.setText("Правильно, вы угадали!");
                        im.setImageDrawable(getResources().getDrawable(R.drawable.fon1));
                    } else {
                        txt3.setText("Неправильно, правильный ответ: " + sum + ".");
                        im.setImageDrawable(getResources().getDrawable(R.drawable.fon2));
                    }
                    try {
                        Thread.sleep(2000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
            Timer timer = new Timer("change");
            Task task = new Task();
            timer.schedule(task, 2000);
                }
            });
    }
    
    class Task extends TimerTask {
        @Override
        public void run() {
             im.setImageDrawable(getResources().getDrawable(R.drawable.fon));
            }
    }


    Как то так
    Ответ написан
    Комментировать