我有一个名为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();
发布于 2018-08-28 06:37:11
如果我错了,请纠正我,但如果我正确理解了您的问题,您会问到在MVP
模式中将代码放在哪里来显示与AlertDialog
相关的代码。通常,一般的想法是Presenter
不应该有任何特定于Android
的代码。它应该只是一个POJO
类。它使Presenter类中的业务逻辑更易于使用JUnit
测试进行测试。因此,下面这样的代码应该是有效的:
内部演示者:
void onServerCallErrorReturned() {
view.showErrorDialog();
}
内部活动:
void showErrorDialog() {
// Here your AlertDialog code can go.
showDialog(getString(R.string.response_server_error));
}
void showDialog(String message) {
}
希望这能有所帮助。
https://stackoverflow.com/questions/52046567
复制相似问题