ShowDialog с использованием MVP - PullRequest
0 голосов
/ 27 августа 2018

У меня есть представление под названием ILoginView, и на нем у меня есть showDialog(String message), и на моем LoginPresenter у меня есть вызов к API, поэтому, если он не работает, я делаю view.showDialog(context.getString(R.string.response_server_error));, поэтому мой вопрос, когда я реализую интерфейс на mainActivity и я должен переопределить этот метод, есть правильный способ разместить:

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
    alertDialogBuilder.setMessage("Click on Image for tag");
    alertDialogBuilder.setPositiveButton("Ok",
        new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface arg0, int arg1) {
        }
    });

    AlertDialog alertDialog = alertDialogBuilder.create();
    alertDialog.show();

1 Ответ

0 голосов
/ 28 августа 2018

Исправьте меня, если я ошибаюсь, но если я правильно понимаю ваш вопрос, вы спрашиваете, где разместить код для отображения кода, связанного с AlertDialog, в шаблоне MVP. Обычно общая идея заключается в том, что Presenter не должно иметь никакого Android конкретного кода. Это должен быть просто класс POJO. Это упрощает тестирование вашей бизнес-логики в классе Presenter с помощью JUnit тестирования. Так что что-то вроде ниже должно работать:

Inside Presenter:

void onServerCallErrorReturned() {
    view.showErrorDialog();
} 

Внутренняя деятельность:

void showErrorDialog() {
    // Here your AlertDialog code can go.
    showDialog(getString(R.string.response_server_error));
}

void showDialog(String message) {
}

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...