Как я могу показать фрагмент диалога в своем классе пользовательских приложений Android? - PullRequest
1 голос
/ 04 января 2012

Мое приложение Android должно отображать диалоговое окно при первом использовании приложения.Это приложение также использует пользовательский класс приложения, который расширяет класс приложения Android.Я хочу использовать DialogFragment для этого диалогового окна (поскольку в документации говорится, что метод showDialog () устарел) и показать этот DialogFragment в методе onCreate () моего пользовательского класса Applicaton.Код для отображения DialogFragment выглядит следующим образом:

FragmentManager manager = getSupportFragmentManager();
DialogFragment firstUseDialog = new FirstUseDialog();
firstUseDialog.show(manager, "dialog");

Но метод getSupportFragmentManager () недоступен в классе Application, только в классах Activity.Поэтому у меня вопрос, есть ли другой способ показать диалог из класса Application.

Я всегда могу переместить код первого использования в свою основную деятельность, но я просто хотел проверить, можно ли это сделать вКласс деятельности.Я чувствую, что проверка первого использования приложения должна быть частью класса Application, а не класса Activity.

Ответы [ 2 ]

2 голосов
/ 04 января 2012

Но метод getSupportFragmentManager () недоступен в классе Application, только в классах Activity.

getSupportFragmentManager() также недоступен из Activity.Он доступен из FragmentActivity пакета поддержки Android.

Поэтому у меня вопрос, есть ли другой способ показать диалог из класса Application.

Нетаким образом.

Мне кажется, что проверка первого использования приложения должна быть частью класса Application, а не класса Activity.

Вы, безусловно, приветствуете ваше мнение,ИМХО, отображение пользовательского интерфейса является обязанностью действия и только действия.Тот факт, что это происходит только при первом использовании приложения, не меняет этого.

0 голосов
/ 11 июля 2016

, если в вашем классе есть объект Context, попробуйте этот метод

(FragmentActivity)context).getSupportFragmentManager()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...