使用MVP和Moxy创建动态ui

时间:2019-04-05 16:08:43

标签: java android mvp moxy

我是Android的新手,正尝试使用mvp模式和moxy库制作具有动态ui(例如包含图片视图)的应用。

活动中:

protected void onCreate(Bundle savedInstanceState) {
        mMainPresenter.initializeViews(this);
        ...
}

演示者:

public void initializeViews(Context context){
    if(!viewsInitialised){
        onAddPictureView(context);
        viewsInitialised=true;
    }
}

public void onAddPictureView(Context context){
    getViewState().addElement(
    ComponentCreator.createPictureView(context, <map_with_url_key>));
}

createPictureView是一个静态工厂,它返回ImageView

public static ImageView createPictureView(Context context, Map<String, Object> data){
    ImageView tv = new ImageView(context);
    ...
    Glide
                .with(context)
                .load((String) data.get("url");)
                .into(tv);
    return tv;
}

第一次显示图像,但是在更改配置后它消失了。 我猜Glide将加载的图像绑定到上下文。并且,在更改配置后重新创建上下文时,将释放图像资源。

创建动态ui遵循MVP模式的正确方法是什么?

0 个答案:

没有答案