Шаблон MVP, сколько представлений предъявителю?

Я хотел бы увидеть ваш журнал ошибок. Читая код, я бы сказал, что ваша проблема в том, что вы пытаетесь обновить элементы интерфейса из потока, который не является потоком интерфейса.

Чтобы быстро протестировать и решить вашу проблему, просто поместите button.setText в блок runUIThread. Для связи с UI-потоком из другого потока вы можете использовать Handler.

DOCS: https://developer.android.com/training/multiple-threads/communicate-ui https://developer.android.com/reference/android/app/Activity #runOnUiThread (java.lang.Runnable)

9
задан Aaron Powell 13 May 2009 в 05:05
поделиться

2 ответа

Я не вижу проблем с вашим подходом. Вам не обязательно иметь отношения «один ко многим» между докладчиком и представлениями - обычно у вас есть только одно представление для каждого докладчика. Идея MVP состоит в том, чтобы отделить презентаторов от представлений, чтобы при необходимости вы могли легко переключать представление (например, поддерживая как веб-приложение, так и настольное приложение), но это не означает, что вы необходимо сделать его динамическим.

Одно предложение: я обычно предоставляю IView в качестве параметра конструктора для Presenter . Конкретная реализация IView затем создает презентатор (либо с помощью жестко запрограммированного нового презентатора (this) , либо с помощью контейнера IoC для его получения.

7
ответ дан 4 December 2019 в 23:07
поделиться

Вы можете найти ответы to Реализация MVC с Windows Forms полезна, поскольку они говорят о различных вариантах реализации MVC и MVP

0
ответ дан 4 December 2019 в 23:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: