Создание динамического интерфейса с mvp и moxy - PullRequest
0 голосов
/ 05 апреля 2019

Я новичок в Android и пытаюсь создать приложение с динамическим пользовательским интерфейсом (например, с изображением), используя шаблон mvp и библиотеку moxy.

в деятельности:

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 привязывает загруженное изображение к контексту. И когда Context создается заново после изменения конфигурации, ресурс изображения освобождается.

Как правильно создать динамический пользовательский шаблон MVP?

...