Отображение DialogFragment из ActionBar.TabListener - PullRequest
4 голосов
/ 29 апреля 2011

Можно ли отобразить FragmentDialog при выборе вкладки в ActionBar?

Метод onTabSelected() происходит внутри транзакции, которая фиксируется после завершения выполнения метода. Однако метод show() в DialogFragment также происходит в транзакции автоматически, поэтому, если вы попытаетесь отобразить диалоговое окно при выборе вкладки, вы получите RuntimeException, потому что транзакция фиксируется дважды.

Любые советы будут оценены.

1 Ответ

3 голосов
/ 29 апреля 2011

Просто игнорируйте прилагаемый FragmentTransaction.

Например, вам нужно сделать это, если вы используете библиотеку совместимости Android (ACL), поскольку FragmentTransaction, которую вы получаете из панели действий, - это Android 3.0 FragmentTransaction, а не ACL FragmentTransaction. Таким образом, вы игнорируете переданный и используете свой собственный.

Точно так же я ожидаю, что вы можете проигнорировать FragmentTransaction и отобразить DialogFragment самостоятельно без проблем.

Будет ли UX иметь какой-либо смысл - это другая проблема. Когда пользователь принимает диалоговое окно, вкладка показывает ... ничего?

...