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

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

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

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

10.11.2016, 18:59. Просмотров 401. Ответов 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 - ситуация не меняется...

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

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

Как сделать паузу — запретить нажатие кнопок на 5 секунд? - Программирование Android
Принцип игры - вопросы на время. По кнопке "Старт" запускается таймер обратного отсчета, кнопка превращается в "Далее" и, пока работает...

Сделать паузу перед закрытием AlertDilaog - Программирование Android
Всем, Здравствуйте. Задача простая. Выводится диалог "Скорость игры", там четыре скорости. Реализую с помощью AlertDialog с...

Как правильно выйти из приложения? - Программирование Android
package com.example.test; //package com.example; import android.app.Activity; import android.content.Context; import...

Как правильно сделать SwipeLayout - Программирование Android
у меня есть такая разметка <com.daimajia.swipe.SwipeLayout xmlns:android="http://schemas.android.com/apk/res/android" ...

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

Как правильно сделать такую кнопку - Программирование Android
Всем привет, хочу сделать кнопку как тут (там где твиттер, фи и гугл). То есть сначала идет на чуть более темном фоне иконка действия,...

11
Pablito
2499 / 1983 / 618
Регистрация: 12.05.2014
Сообщений: 6,925
Завершенные тесты: 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);
1
Antohsa
8 / 12 / 0
Регистрация: 18.10.2016
Сообщений: 115
10.11.2016, 19:49  [ТС] #3
Добавлено через 42 минуты
Поторопился....

Код который идет после result_text.postDelayed() выполняется сразу же... а мне бы надо все таки сделать "общую" паузу на 1 секунду... всего приложения...
0
Pablito
2499 / 1983 / 618
Регистрация: 12.05.2014
Сообщений: 6,925
Завершенные тесты: 1
10.11.2016, 20:06 #4
никто приложение не тормозит просто так
0
Antohsa
8 / 12 / 0
Регистрация: 18.10.2016
Сообщений: 115
10.11.2016, 20:13  [ТС] #5
Представьте игру в "Какой шкатулки деньги?"... пользователь делает выбор... барабанная дробь (1 секунда) - выводится сообщение о победе или проигрыше.... только после вывода делаются след. действия... например, выводится анимация или баннер.... если паузы не сделать, то все запустится моментально.. и вывод сообщения и анимация и баннер.
0
Pablito
2499 / 1983 / 618
Регистрация: 12.05.2014
Сообщений: 6,925
Завершенные тесты: 1
10.11.2016, 20:16 #6
значит
Java
1
2
3
4
public void run() {
                result_text.setText(getString(R.string.choose_antoher));
// вот тут и надо вызывать метод, который будет показывать дальнейшие действия
            }
1
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... как победить?
0
Pablito
2499 / 1983 / 618
Регистрация: 12.05.2014
Сообщений: 6,925
Завершенные тесты: 1
10.11.2016, 21:00 #8
кэп подсказывает, что их можно сделать final, там можно нажать где подчеркивает и попросить исправить и студия сама все сделает
0
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));
Работает, конечно.... но похоже на костыли... =((((
0
Antohsa
8 / 12 / 0
Регистрация: 18.10.2016
Сообщений: 115
12.11.2016, 15:31  [ТС] #10
Нет. Все равно не верно... Да, код который в PostDelayed выполняется через 1 секунду... но в течение этой секунды приложение работает... работают обработчики нажатий на другие кнопки, флашки и т.д... все таки нужна реальная пауза основного потока....

Вопрос остался открытым.. =(((
0
Pablito
2499 / 1983 / 618
Регистрация: 12.05.2014
Сообщений: 6,925
Завершенные тесты: 1
12.11.2016, 21:08 #11
все равно не дойдет, но я напишу для тех, кто вдруг будет читать тему потом - никто не тормозит главный поток приложения, это решение проблемы через задницу
0
Alexvp
108 / 72 / 8
Регистрация: 03.08.2014
Сообщений: 348
12.11.2016, 21:25 #12
Как вариант, для паузы используйте анимацию. Судя по всему для вашей барабанной дроби это хороший вариант
0
12.11.2016, 21:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2016, 21:25
Привет! Вот еще темы с ответами:

Объясните как сделать оплату приложения - Программирование Android
Я начинающий в Андроид. Написал полезное приложение и хотел бы продавать его за небольшую оплату. Но не понимаю как это правильно сделать....

Как сделать чтобы кнопка правильно располагалась - Программирование Android
Как сделать чтобы кнопка располагалась поверх RecyclerView и в тоже время внизу экрана(привязана к нижней его границе)? Вот разметка ...

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

Как сделать анимацию при загрузки приложения - Программирование Android
как сделать анимацию чтоб увеличивалась картинка и исчезала при параллельной загрузки головного меню!


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

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