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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Antohsa
8 / 12 / 0
Регистрация: 18.10.2016
Сообщений: 115
#1

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

10.11.2016, 18:59. Просмотров 303. Ответов 11
Метки нет (Все метки)

Здравствуйте, Всем.

Необходимо просто в ходе выполнения программы сделать паузу в 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     Как правильно сделать паузу в ходе работы приложения?
Посмотрите здесь:
Как сделать паузу — запретить нажатие кнопок на 5 секунд? Android
Сделать паузу перед закрытием AlertDilaog Android
Android Как правильно выйти из приложения?
Android Как правильно сделать SwipeLayout
Android Как правильно сделать такие отступы
Android Как правильно сделать такую кнопку
Basic4Android Как реализовать паузу во время выполнения программы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Pablito
2455 / 1900 / 591
Регистрация: 12.05.2014
Сообщений: 6,702
Завершенные тесты: 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
Сообщений: 115
10.11.2016, 19:49  [ТС]     Как правильно сделать паузу в ходе работы приложения? #3
Добавлено через 42 минуты
Поторопился....

Код который идет после result_text.postDelayed() выполняется сразу же... а мне бы надо все таки сделать "общую" паузу на 1 секунду... всего приложения...
Pablito
2455 / 1900 / 591
Регистрация: 12.05.2014
Сообщений: 6,702
Завершенные тесты: 1
10.11.2016, 20:06     Как правильно сделать паузу в ходе работы приложения? #4
никто приложение не тормозит просто так
Antohsa
8 / 12 / 0
Регистрация: 18.10.2016
Сообщений: 115
10.11.2016, 20:13  [ТС]     Как правильно сделать паузу в ходе работы приложения? #5
Представьте игру в "Какой шкатулки деньги?"... пользователь делает выбор... барабанная дробь (1 секунда) - выводится сообщение о победе или проигрыше.... только после вывода делаются след. действия... например, выводится анимация или баннер.... если паузы не сделать, то все запустится моментально.. и вывод сообщения и анимация и баннер.
Pablito
2455 / 1900 / 591
Регистрация: 12.05.2014
Сообщений: 6,702
Завершенные тесты: 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
Сообщений: 115
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... как победить?
Pablito
2455 / 1900 / 591
Регистрация: 12.05.2014
Сообщений: 6,702
Завершенные тесты: 1
10.11.2016, 21:00     Как правильно сделать паузу в ходе работы приложения? #8
кэп подсказывает, что их можно сделать final, там можно нажать где подчеркивает и попросить исправить и студия сама все сделает
Antohsa
8 / 12 / 0
Регистрация: 18.10.2016
Сообщений: 115
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
Сообщений: 115
12.11.2016, 15:31  [ТС]     Как правильно сделать паузу в ходе работы приложения? #10
Нет. Все равно не верно... Да, код который в PostDelayed выполняется через 1 секунду... но в течение этой секунды приложение работает... работают обработчики нажатий на другие кнопки, флашки и т.д... все таки нужна реальная пауза основного потока....

Вопрос остался открытым.. =(((
Pablito
2455 / 1900 / 591
Регистрация: 12.05.2014
Сообщений: 6,702
Завершенные тесты: 1
12.11.2016, 21:08     Как правильно сделать паузу в ходе работы приложения? #11
все равно не дойдет, но я напишу для тех, кто вдруг будет читать тему потом - никто не тормозит главный поток приложения, это решение проблемы через задницу
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2016, 21:25     Как правильно сделать паузу в ходе работы приложения?
Еще ссылки по теме:
Как сделать чтобы кнопка правильно располагалась Android
Как правильно сделать PRO версию проекта Android
Как сделать анимацию при загрузки приложения Android
Android Как сделать лог интернет соединения Android приложения
Android Как правильно сделать событие в таймере Java под андроид

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

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

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