MVP Android - где сохранить состояние просмотра?

Если вы хотите понять, зачем вам нужен метод моста, вы лучше поймете, что произойдет без него. Предположим, что не существует мостового метода.

class A<T>{
  private T value;
  public void set(T newVal){
    value=newVal
  }
}

class B extends A<String>{
  public void set(String newVal){
    System.out.println(newVal);
    super.set(newVal);
  }
}

Обратите внимание, что после стирания метод set в A стал public void set(Object newVal), поскольку на параметре типа T нет ограничений. В классе B нет метода сигнатура которого совпадает с set в A. Таким образом, переопределение отсутствует. Следовательно, когда произошло что-то подобное:

A a=new B();
a.set("Hello World!");

Полиморфизм здесь не будет работать. Помните, что вам нужно переопределить метод родительского класса в дочернем классе, чтобы вы могли использовать родительский класс var для инициирования полиморфизма.

. Что такое метод моста, он молча переопределяет метод в родительском классе со всей информацией из метод с тем же именем, но с другой подписью. С помощью мостового метода работал полиморфизм. Хотя на первый взгляд вы переопределяете метод родительского класса методом различной подписи.

14
задан Fábio Carballo 19 May 2015 в 17:13
поделиться

1 ответ

Это может быть достигнуто при помощи понятия о предъявителях с сохранением информации, где предъявитель сделан знающий о состоянии. Вот большая демонстрация, которую я нашел онлайн: https://pspdfkit.com/blog/2016/restoring-state-in-android-mvp-architecture

это помогло мне поддержать чистую архитектуру MVP в то время как способность восстановить и сохранить представление (действие/фрагмент) состояние

0
ответ дан 1 December 2019 в 05:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: