我是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模式的正确方法是什么?