Size: a a a

Moxy – MVP библиотека под Android

2020 February 03

A

Alexander in Moxy – MVP библиотека под Android
Всем добрый вечер. Ребят, подскажите пожалуйста очень сильно начинающему... )
Есть activity, на ней пара TextView, есть метод void showInfo(String text1, String text2), меняющий текст в этих view.  В презентере сделал таймер

public MyPresenter()
   {
       Timer myTimer = new Timer();
       myTimer.scheduleAtFixedRate(new TimerTask() {
           @Override
           public void run() {
              Log.i("myPresenter", "1 sec on presenter");
              myActivity.showInfo("bla1", "bla2");
           }
       }, 0, 1000);

Код в таймере выполняется 1 раз (смотрел логи), а потом приложение крашится
   android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.

И ещё момент, как я понимаю MVP подразумевает что этот таймер должен быть написан в каком-то отдельном классе(т.н. Model), объект которого нужно создавать при создании презентера?
источник

A

Alexander in Moxy – MVP библиотека под Android
Я про original thread не понял, почему оно 1 раз выполнилось?
источник

IG

Ilya Gulya in Moxy – MVP библиотека под Android
Alexander
Всем добрый вечер. Ребят, подскажите пожалуйста очень сильно начинающему... )
Есть activity, на ней пара TextView, есть метод void showInfo(String text1, String text2), меняющий текст в этих view.  В презентере сделал таймер

public MyPresenter()
   {
       Timer myTimer = new Timer();
       myTimer.scheduleAtFixedRate(new TimerTask() {
           @Override
           public void run() {
              Log.i("myPresenter", "1 sec on presenter");
              myActivity.showInfo("bla1", "bla2");
           }
       }, 0, 1000);

Код в таймере выполняется 1 раз (смотрел логи), а потом приложение крашится
   android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.

И ещё момент, как я понимаю MVP подразумевает что этот таймер должен быть написан в каком-то отдельном классе(т.н. Model), объект которого нужно создавать при создании презентера?
У тебя в exception ошибка написана. Ты не на main потоке трогаешь вьюхи.
источник

A

Alexander in Moxy – MVP библиотека под Android
а почему оно 1 раз всё-таки выполняется? вьюхи то меняются
источник

O

OzOn in Moxy – MVP библиотека под Android
Alexander
а почему оно 1 раз всё-таки выполняется? вьюхи то меняются
Он ни разу не выполняется, лог отрабатывает, а потом крашится
источник

A

Alexander in Moxy – MVP библиотека под Android
а, ну да, меняются вьюхи и оно крашится
источник

A

Alexander in Moxy – MVP библиотека под Android
а как поправить?
источник

A

Alexander in Moxy – MVP библиотека под Android
я понимаю, что "запускать в основном потоке"
источник

O

OzOn in Moxy – MVP библиотека под Android
Alexander
а как поправить?
источник

O

OzOn in Moxy – MVP библиотека под Android
Или юзай Rx
источник

A

Alexander in Moxy – MVP библиотека под Android
спасибо, а по второму вопросу? логика должна быть в модели? а вьюху менять каким образом? писать ещё методы в презентер, который дёргает метод у вьюхи? а методы обрабатывающие всякие онклики и т.п. у активити должны быть в презентере?
источник

A

Alexander in Moxy – MVP библиотека под Android
я прошу прощения за "тупые" вопросы, но в горе имеющейся информации трудно найти доступные объяснения. Читаю, смотрю выступления, вроде всё круто и всё понятно и даже логично ) а как пытаюсь что-то сделать, фигня получается
источник

IG

Ilya Gulya in Moxy – MVP библиотека под Android
Alexander
я прошу прощения за "тупые" вопросы, но в горе имеющейся информации трудно найти доступные объяснения. Читаю, смотрю выступления, вроде всё круто и всё понятно и даже логично ) а как пытаюсь что-то сделать, фигня получается
Вам лучше пойти в тематический чат https://t.me/Android_Architecture
источник

A

Alexander in Moxy – MVP библиотека под Android
спасибо
источник

IV

Ilya Vasilyev in Moxy – MVP библиотека под Android
Всем привет) Разбираюсь с moxy, у меня используется фрагмент, который я наследую теперь от MvpAppCompatFragment. При этом у класса отвалились методы getActivity, getContext. Что с этим делать?) Спасибо)
источник

IV

Ilya Vasilyev in Moxy – MVP библиотека под Android
Также отвалились все переопределения от фрагмента...
источник
2020 February 04

AD

Aleksey D. in Moxy – MVP библиотека под Android
Ilya Vasilyev
Также отвалились все переопределения от фрагмента...
Support Library или Androidx? какая версия моху?
источник

IV

Ilya Vasilyev in Moxy – MVP библиотека под Android
Aleksey D.
Support Library или Androidx? какая версия моху?
Вроде andoidx)
источник

AD

Aleksey D. in Moxy – MVP библиотека под Android
Ilya Vasilyev
Вроде andoidx)
мокси старая, смотри закреп
источник

A

Alexey in Moxy – MVP библиотека под Android
Ilya Vasilyev
Вроде andoidx)
Зачем тебе okHttpч если есть ретрофит?
источник