首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用MVP的ShowDialog

使用MVP的ShowDialog
EN

Stack Overflow用户
提问于 2018-08-28 04:29:47
回答 1查看 899关注 0票数 0

我有一个名为ILoginView的视图,在它上面我有一个showDialog(String message),在我的LoginPresenter上我有对api的调用,所以如果它失败了,我会执行view.showDialog(context.getString(R.string.response_server_error));,所以我的问题是,当我在mainActivity上实现接口时,我必须覆盖这个方法,有正确的方法来放置:

代码语言:javascript
复制
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();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-28 06:37:11

如果我错了,请纠正我,但如果我正确理解了您的问题,您会问到在MVP模式中将代码放在哪里来显示与AlertDialog相关的代码。通常,一般的想法是Presenter不应该有任何特定于Android的代码。它应该只是一个POJO类。它使Presenter类中的业务逻辑更易于使用JUnit测试进行测试。因此,下面这样的代码应该是有效的:

内部演示者:

代码语言:javascript
复制
void onServerCallErrorReturned() {
    view.showErrorDialog();
} 

内部活动:

代码语言:javascript
复制
void showErrorDialog() {
    // Here your AlertDialog code can go.
    showDialog(getString(R.string.response_server_error));
}

void showDialog(String message) {
}

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52046567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档