Форум программистов, компьютерный форум CyberForum.ru

Как правильно сделать паузу в ходе работы приложения? - Android

Восстановить пароль Регистрация
 
Antohsa
8 / 12 / 0
Регистрация: 18.10.2016
Сообщений: 112
10.11.2016, 18:59     Как правильно сделать паузу в ходе работы приложения? #1
Здравствуйте, Всем.

Необходимо просто в ходе выполнения программы сделать паузу в 1 секунда.

Погуглил, почитал, что то совсем запутался с Thread, try, catch и т.д....

Например:
Java
1
2
3
result_text.setText(getString(R.string.open_one));
Thread.sleep(1000);
result_text.setText(getString(R.string.choose_antoher));
Первого текста не вижу... Выполняется программа, ждет 1 секунду - выводит сразу текст из последний строки...

С try .... catch - ситуация не меняется...

Как бы показать один текст, затем через секунду другой?

Заранее, спасибо....
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2016, 18:59     Как правильно сделать паузу в ходе работы приложения?
Посмотрите здесь:

Android Как правильно выйти из приложения?
Как сделать анимацию при загрузки приложения Android
Android Как сделать лог интернет соединения Android приложения
Как сделать паузу — запретить нажатие кнопок на 5 секунд? Android
Android Как правильно сделать такую кнопку
Как правильно сделать PRO версию проекта Android
Basic4Android Как реализовать паузу во время выполнения программы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
не спать!
1874 / 1608 / 496
Регистрация: 12.05.2014
Сообщений: 5,810
Завершенные тесты: 1
10.11.2016, 19:03     Как правильно сделать паузу в ходе работы приложения? #2
Java
1
2
3
4
5
6
7
        result_text.setText(getString(R.string.open_one));
        result_text.postDelayed(new Runnable() {
            @Override
            public void run() {
                result_text.setText(getString(R.string.choose_antoher));
            }
        }, 1000);
Antohsa
8 / 12 / 0
Регистрация: 18.10.2016
Сообщений: 112
10.11.2016, 19:49  [ТС]     Как правильно сделать паузу в ходе работы приложения? #3
Добавлено через 42 минуты
Поторопился....

Код который идет после result_text.postDelayed() выполняется сразу же... а мне бы надо все таки сделать "общую" паузу на 1 секунду... всего приложения...
Паблито
не спать!
1874 / 1608 / 496
Регистрация: 12.05.2014
Сообщений: 5,810
Завершенные тесты: 1
10.11.2016, 20:06     Как правильно сделать паузу в ходе работы приложения? #4
никто приложение не тормозит просто так
Antohsa
8 / 12 / 0
Регистрация: 18.10.2016
Сообщений: 112
10.11.2016, 20:13  [ТС]     Как правильно сделать паузу в ходе работы приложения? #5
Представьте игру в "Какой шкатулки деньги?"... пользователь делает выбор... барабанная дробь (1 секунда) - выводится сообщение о победе или проигрыше.... только после вывода делаются след. действия... например, выводится анимация или баннер.... если паузы не сделать, то все запустится моментально.. и вывод сообщения и анимация и баннер.
Паблито
не спать!
1874 / 1608 / 496
Регистрация: 12.05.2014
Сообщений: 5,810
Завершенные тесты: 1
10.11.2016, 20:16     Как правильно сделать паузу в ходе работы приложения? #6
значит
Java
1
2
3
4
public void run() {
                result_text.setText(getString(R.string.choose_antoher));
// вот тут и надо вызывать метод, который будет показывать дальнейшие действия
            }
Antohsa
8 / 12 / 0
Регистрация: 18.10.2016
Сообщений: 112
10.11.2016, 20:42  [ТС]     Как правильно сделать паузу в ходе работы приложения? #7
Точно..

Но есть проблемка:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 public void onClick(View view) {
        boolean open_door = false;
            result_text.setText(getString(R.string.open_one));
            result_text.postDelayed(new Runnable() {
                @Override
                public void run() {
                    result_text.setText(getString(R.string.choose_antoher));
                    switch (view.getId()) {
                        case R.id.first_door:
                            switch (door_with_prize) {
                                case 1:
                                    open_door = rnd.nextBoolean();
                                    if (open_door) { second_door.setBackgroundColor(Color.RED); open=2;
                                    } else { third_door.setBackgroundColor(Color.RED); open=3;}
                                    break;
                                case 2:
                                    third_door.setBackgroundColor(Color.RED);
                                    open=3;
                                    break;
.....
.....
Начинает ругаться на локальную переменную open_door и view от метода onClcik. Просит сделать их final... как победить?
Паблито
не спать!
1874 / 1608 / 496
Регистрация: 12.05.2014
Сообщений: 5,810
Завершенные тесты: 1
10.11.2016, 21:00     Как правильно сделать паузу в ходе работы приложения? #8
кэп подсказывает, что их можно сделать final, там можно нажать где подчеркивает и попросить исправить и студия сама все сделает
Antohsa
8 / 12 / 0
Регистрация: 18.10.2016
Сообщений: 112
10.11.2016, 21:05  [ТС]     Как правильно сделать паузу в ходе работы приложения? #9
сделал так:
Java
1
final View fview = view;
и перенес определение переменной внутрь:
Java
1
2
3
4
5
            result_text.postDelayed(new Runnable() {
                boolean open_door = false;
                @Override
                public void run() {
                    result_text.setText(getString(R.string.choose_antoher));
Работает, конечно.... но похоже на костыли... =((((
Antohsa
8 / 12 / 0
Регистрация: 18.10.2016
Сообщений: 112
12.11.2016, 15:31  [ТС]     Как правильно сделать паузу в ходе работы приложения? #10
Нет. Все равно не верно... Да, код который в PostDelayed выполняется через 1 секунду... но в течение этой секунды приложение работает... работают обработчики нажатий на другие кнопки, флашки и т.д... все таки нужна реальная пауза основного потока....

Вопрос остался открытым.. =(((
Паблито
не спать!
1874 / 1608 / 496
Регистрация: 12.05.2014
Сообщений: 5,810
Завершенные тесты: 1
12.11.2016, 21:08     Как правильно сделать паузу в ходе работы приложения? #11
все равно не дойдет, но я напишу для тех, кто вдруг будет читать тему потом - никто не тормозит главный поток приложения, это решение проблемы через задницу
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2016, 21:25     Как правильно сделать паузу в ходе работы приложения?
Еще ссылки по теме:

Android Как правильно сделать событие в таймере Java под андроид
Android Как правильно сделать SwipeLayout
Сделать паузу перед закрытием AlertDilaog Android
Android Как правильно сделать такие отступы
Как сделать чтобы кнопка правильно располагалась Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Alexvp
107 / 71 / 8
Регистрация: 03.08.2014
Сообщений: 344
12.11.2016, 21:25     Как правильно сделать паузу в ходе работы приложения? #12
Как вариант, для паузы используйте анимацию. Судя по всему для вашей барабанной дроби это хороший вариант
Yandex
Объявления
12.11.2016, 21:25     Как правильно сделать паузу в ходе работы приложения?
Ответ Создать тему
Опции темы

Текущее время: 04:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru