Eclipse: PreferenceDialog странное поведение "кэша" - PullRequest
1 голос
/ 31 августа 2011

В моем приложении я использую PreferenceManager, полностью созданный с нуля.

Затем я открываю preferencePage:

PreferenceDialog dialog=new PreferenceDialog(parentShell, manager);
dialog.create();
dialog.open();

У меня 2 проблемы с этим подходом:

1) Я не могу поддерживать STATIC MANAGER в течение жизненного цикла приложения .Мне нужно создавать Менеджер каждый раз, когда я создаю диалог, иначе даже дерево не создается.Создание NEW Manager - это решение ...

2) PreferenceDialog как-то "похоже, знает о последнем диалоге" !Последняя страница, открытая в последнем диалоговом окне, известна более свежему диалоговому окну еще до того, как мы откроем эту страницу.Это происходит только с последней открытой страницей, остальные полностью создаются на лету!

Я знаю, что когда я использую настройки ECLIPSE, диалог, кажется, «кэширует» все открытые страницы,так что во второй раз они готовы показать ...

Но я заинтригован, потому что я создаю NEW PreferenceManager и PreferenceDialog !!!

...