Size: a a a

AndroidDev :: Разработка. It's Android time now!

2020 September 26

AA

Ali Agzamov in AndroidDev :: Разработка. It's Android time now!
vorobyoff
Но его можно сохранить и надо
а давай ты сначала почитаеш про mvp, разберешся какой слой за что отвечает а потом вернемся к диалогу?
источник

AA

Ali Agzamov in AndroidDev :: Разработка. It's Android time now!
источник

v

vorobyoff in AndroidDev :: Разработка. It's Android time now!
источник

F

FUCKEOFF🖕 in AndroidDev :: Разработка. It's Android time now!
public void start(View view) {progressBar.setVisibility(View.VISIBLE);


       try {
           Thread.sleep(10000);
       } catch (InterruptedException e) {
           e.printStackTrace();
       }

       progressBar.setVisibility(View.INVISIBLE);подскажите пожалуйста почему прогресбар не становится видимым.если закоментировать строчку где прогресбар становится невидимым то все работает но мне необходимо что бы прогресс бар исчезал
источник

AA

Ali Agzamov in AndroidDev :: Разработка. It's Android time now!
FUCKEOFF🖕
public void start(View view) {progressBar.setVisibility(View.VISIBLE);


       try {
           Thread.sleep(10000);
       } catch (InterruptedException e) {
           e.printStackTrace();
       }

       progressBar.setVisibility(View.INVISIBLE);подскажите пожалуйста почему прогресбар не становится видимым.если закоментировать строчку где прогресбар становится невидимым то все работает но мне необходимо что бы прогресс бар исчезал
т.е. ты жалуешся на то что не видиш прогрессбар, но тебе именно это и нужно?
источник

AA

Ali Agzamov in AndroidDev :: Разработка. It's Android time now!
final Handler handler = new Handler(Looper.getMainLooper());
   handler.postDelayed(new Runnable() {
       @Override
       public void run() {
           progressBar.setVisibility(View.INVISIBLE);
       }
   }, 10000);
источник

AA

Ali Agzamov in AndroidDev :: Разработка. It's Android time now!
прогресс бар не отображается в твоем методе, потому что ты замораживаеш поток который занимается его отображением
источник

F

FUCKEOFF🖕 in AndroidDev :: Разработка. It's Android time now!
Ali Agzamov
прогресс бар не отображается в твоем методе, потому что ты замораживаеш поток который занимается его отображением
Спасибо
источник

AA

Ali Agzamov in AndroidDev :: Разработка. It's Android time now!
👍
источник

F

FUCKEOFF🖕 in AndroidDev :: Разработка. It's Android time now!
Ali Agzamov
👍
На сколько я понимаю мой долговыполняющийся код должен быть



public void  run(){    ##### здесь. ######    }
источник

AA

Ali Agzamov in AndroidDev :: Разработка. It's Android time now!
FUCKEOFF🖕
На сколько я понимаю мой долговыполняющийся код должен быть



public void  run(){    ##### здесь. ######    }
нет, там должно быть то что ты пытаешся запустить через 10 сек
источник

AA

Ali Agzamov in AndroidDev :: Разработка. It's Android time now!
любой долго выполняющийся код должен быть перенесен в ОТДЕЛЬНЫЙ поток. иначе ты получиш ANR и юзер получит уедомление, что задача выполняется слишком долго. слишком долго это 5 сек и более. главный поток грузить незя ни в коем случае.
источник

F

FUCKEOFF🖕 in AndroidDev :: Разработка. It's Android time now!
Ali Agzamov
любой долго выполняющийся код должен быть перенесен в ОТДЕЛЬНЫЙ поток. иначе ты получиш ANR и юзер получит уедомление, что задача выполняется слишком долго. слишком долго это 5 сек и более. главный поток грузить незя ни в коем случае.
Я это знаю у меня вообще ситуация следующая



У меня есть кнопка которая создаёт новый поток  и в этом потоке долговыполняющийся код примерно 10 секунд после его выполнения у меня открывается другая активити и туда передаются данные которые были получены в результате выполнения этого кода



Что бы пользователь не думал что приложение зависло я решил поставить прогрессбар

Но если прогресс бар делать видимым в потоке приложение крашется а если перед созданием потока
То он становится видимым
Но мне нужно что бы после длительной задачи делать его невидимым


И тут у меня возникли проблема если его сделать не видемым то он и вовсе перестает отображаться.
источник

AA

Ali Agzamov in AndroidDev :: Разработка. It's Android time now!
FUCKEOFF🖕
Я это знаю у меня вообще ситуация следующая



У меня есть кнопка которая создаёт новый поток  и в этом потоке долговыполняющийся код примерно 10 секунд после его выполнения у меня открывается другая активити и туда передаются данные которые были получены в результате выполнения этого кода



Что бы пользователь не думал что приложение зависло я решил поставить прогрессбар

Но если прогресс бар делать видимым в потоке приложение крашется а если перед созданием потока
То он становится видимым
Но мне нужно что бы после длительной задачи делать его невидимым


И тут у меня возникли проблема если его сделать не видемым то он и вовсе перестает отображаться.
ну у тебя ж есть какие то методы кот прикручивают твои данные к ui. вот там и переключай прогресс бар. не обязательно вкл и выкл его из одного и того же метода. ушел в рабочий поток включил, вернулся выключил.
источник

AA

Ali Agzamov in AndroidDev :: Разработка. It's Android time now!
а если используеш датабайндиг там это вообще в 1ну строку решается
источник

F

FUCKEOFF🖕 in AndroidDev :: Разработка. It's Android time now!
Ali Agzamov
ну у тебя ж есть какие то методы кот прикручивают твои данные к ui. вот там и переключай прогресс бар. не обязательно вкл и выкл его из одного и того же метода. ушел в рабочий поток включил, вернулся выключил.
Это не работает
источник

F

FUCKEOFF🖕 in AndroidDev :: Разработка. It's Android time now!
Но я уже решил проблему
источник

F

FUCKEOFF🖕 in AndroidDev :: Разработка. It's Android time now!
Я пытаюсь обротится к ui потоку из второстепенного потока
источник

F

FUCKEOFF🖕 in AndroidDev :: Разработка. It's Android time now!
Реализация должна выглядеть так
источник

F

FUCKEOFF🖕 in AndroidDev :: Разработка. It's Android time now!
runOnUiThread(new Runnable() {
                       @Override
                       public void run() {progressBar.setVisibility(View.INVISIBLE);

                       }
                   });
источник