Presenter и Views обычно являются дорогостоящими для создания экземпляров, поэтому GWTP рекомендует использовать оба в качестве синглтона, так как представление не требуется, поскольку докладчик будет сохранять экземпляр, чтобы он работал как внутренний синглтон.В этом случае, в текущем случае, просто сбросьте состояние докладчика на одном из этапов жизненного цикла «prepareFromRequest», «onReveal» или «onReset» в зависимости от того, как работает ваше представление.
Обратите внимание, что сделать это гораздо проще, чем кажется, если ваше представление не синхронизировано с докладчиком, что должно быть в вашем случае, просто переместите код из менее часто обновляемого жизненного цикла (например,. Construction или onBind) к более часто обновляемому (например, onReveal или onReset), тогда, когда вы перемещаетесь по своему докладчику и отображается представление, это будет корректно обновляться, и проблема с единичным узлом станет неактуальной.
Если вы действительно хотите создать не одиночный докладчик, вы можете выполнить привязку вручную вместо использования AbstractPresenterModule # bindPresenter.Это может быть немного опасно, если вы попытаетесь сослаться на докладчика в нескольких местах, а также во время сброса докладчик будет таким же, но я думаю, что это будет новый экземпляр при каждом открытии.