Как @Luksprog упомянул в комментариях, решение может быть следующим:
Присвойте тег вашему DialogFragment при создании:
FragmentManager fragmentManager = getSupportFragmentManager();
MyDialogFragment.newInstance(...).show(fragmentManager, "myTag");
Найдите его и отклоните в onCreate
MyDialogFragment dialog = ((MyDialogFragment)getSupportFragmentManager().findFragmentByTag("myTag"));
if (dialog != null) {
dialog.dismiss();
}
Я думаю, что было бы эффективнее вообще отключить воссоздание DialogFragment, но я не знаю, возможно ли это.
Perl является очень хорошим языком, и CPAN имеет тонну зрелых модулей, которые сохранят Вас много времени. Кроме того, Perl является действительно продвижениями в наше время с большим количеством интересных проектов (в отличие от того, что неинформированным фанатам нравится распространять вокруг). Даже реализация Perl 6 к настоящему времени выпускает рабочий Perl 6.
я Вы хотите сделать OO, я рекомендовал бы Американский лось .
Честно, "большинство" моего программирования было в Perl и PHP, и я недавно решил сделать свой последний проект в Python, и я должен признать, что это очень любезно к программе с. Я не колебался целого вещи фигурных скобок, поскольку это - то, что я всегда делал, но это действительно очень чисто. В конце дня, тем не менее, можно сделать хорошие веб-приложения со всеми 3, но если бы Вы - тупик при отбрасывании PHP для попытки чего-то нового, я рекомендовал бы Python и платформу Django.
Я пошел бы с Perl. Не все согласятся со мной здесь, но это - большой язык, хорошо подходящий для работы системного администрирования, и это представит Вас некоторым конструкциям более функционального программирования. Это - большой язык для изучения, как использовать самый маленький объем кода для данной задачи, также.
Для сценария использования Вы упомянули, хотя, я думаю, что PHP может быть Вашим лучшим выбором все еще. Python действительно имеет некоторые большие веб-платформы, однако, поэтому если Вы просто хотите испытать новый язык для разработки веб-приложений, Python мог бы быть Вашей ставкой.
Я недавно сделал шаг от Perl к Python после нескольких лет только для Perl. Вскоре после этого я обнаружил, что начал прочитывать все виды кода Python так же, как это был любой другой легкий прочитать текст — что-то, что я никогда не делал с Perl. Необходимость копаться в стороннем коде Perl всегда была своего рода кошмаром для меня, таким образом, это стало очень очень приятным сюрпризом!
Для меня, это означает, что код Python намного легче поддержать, который на длительном периоде делает Python намного более привлекательным, чем Perl.
У меня нет опыта с Python. Я ручаюсь сильно для изучения Perl, не из истощения, но потому что существует ТОННА для изучения в платформе. Ключевое понятие Perl: Сделайте то, Что я Имею в виду ( DWIM) и существует больше чем Один Способ Сделать Это ( TMTOWTDI). Это означает, гипотетически часто нет никакого неправильного способа приблизиться к проблеме, если проблема соответственно решена.
Запускаются с изучения основного языка Perl, затем расширяют себя до изучения ключевых модулей Perl, как IO:: Файл, DBI, HTML:: Шаблон, XML:: LibXML, и т.д. и т.д. search.cpan.org будет Вашим ресурсом. perlmonks.org будет Вашим руководством. Примерно всему полезному, чтобы сделать, вероятно, опубликуют модуль.
Имеют в виду, что Perl является динамическим и свободно структурированным языком. Perl не является платформой для осуществления драконовских стандартов ООП, но на серьезном основании. Вы найдете язык чрезвычайно гибким.
, Где Perl используется? Системные администраторы используют его в большой степени, как уже упомянуто. Можно все еще сделать превосходные веб-приложения или простым CGI или платформой MVC.
Я не работал с Python очень, но я могу сказать, почему мне не нравился приблизительно Perl, когда я использовал его.
Сказав все это, я изучил бы Python. Если Вы не хотите пойти с чем-то более тяжелый вес как C++ или C#/Java.
О, прежде чем я забыл: Я хотел поместить пример для 4 выше, но ТАК не люблю помещать код в пронумерованные списки:
sub mySub {
#extremely common to see in Perl, as built-ins operators operate on the $_ scalar or @_ array implicitly
my $arg1 = shift;
my $arg2 = shift;
}
Как программист Perl, я обычно говорил бы Perl. Но происходя из PHP, я думаю, что Perl слишком подобен, и Вы на самом деле не доберетесь так очень из него. (Не потому что нет много для изучения, но Вы, вероятно, будете программировать в Perl с помощью того же стиля, как Вы программируете в PHP.)
я предложил бы что-то совершенно другое: Haskell (предложенный Joel), Lisp, Lua, JavaScript или C. Любой из них сделал бы Вас лучшим программистом путем открытия новых способов посмотреть на мир.
, Но нет никакой причины прекратить изучать PHP тем временем.
Для хорошего взгляда на темную сторону этих языков, я сердечно рекомендую: , Что такое пять вещей, которые Вы ненавидите о своем любимом языке?
Python является чистым и изящным, и то, что много API C было обернуто, дает Вам мощные рычаги очень. Мне также нравится" Дзэн Python ".
Почему не там Ruby в Вашем списке? Возможно, необходимо дать ему попытку.
Я предлагаю пройти учебное руководство новичка каждого и решаю для себя, которые соответствуют Вам лучше. Вы найдете, что можно сделать то, в чем необходимо сделать также:
Учебное руководство Python ( Классы Python )
Учебное руководство по Perl ( Классы Perl ) (Не удалось найти единственное 'официальное' учебное руководство по жемчугу, не стесняйтесь предлагать один)
<час>, По моему опыту, Python предоставляет инструмент для очистки, больше простого опыта.
Мои проблемы с жемчугом:
'используют строгий'; Инфекция, Предупреждения? - Идеально они не должны быть необходимы.
Передающие переменные: ; по сравнению с $ , по сравнению со сдвигом
Обзор мой , локальный , наш ? (Локальное определение, кажется, особенно указывает на некоторый беспорядок с жемчугом, "Вы действительно, вероятно, хотите использовать мой вместо этого, потому что локальный не то, о чем большинство людей думает как "локальное""..)
В целом с моими навыками жемчуга я все еще нахожу мой сам ссылка на документацию для встроенных функций. Где как в Python я нахожу это меньше. (я работал в обоих примерно то же количество времени, но мой общий опыт программирования вырос со временем. Другими словами, я, вероятно, был бы лучшим программистом жемчуга теперь)
, Если Ваш гуру командной строки Unix, хотя, жемчуг может прибыть более естественно к Вам. Или, если Ваше использование его главным образом как замена или расширение задач администрирования командной строки, он может удовлетворить Вашим прекрасным потребностям. По-моему, жемчуг "быстрее на ничьей" в командной строке, чем Python.
"Я хотел бы следовать за структурой ООП..." защитники Python или, еще больше если Вы открыты, Ruby. С другой стороны, с точки зрения существующих библиотек, порядок является, вероятно, Perl> Python>> Ruby. С точки зрения Вашей карьеры Perl на Вашем резюме вряд ли заставит Вас выделиться, в то время как Python и Ruby могут привлечь внимание менеджера по найму.
Как PHP программист, Вы, вероятно, собираетесь рассматривать все 3 как несколько "обременительные" для подъема Веб-страницы. У всех есть хорошие решения для веб-платформ, но ни один вполне столь не фокусируется на рендеринге Веб-страницы, как PHP.
я думаю, что Python, довольно вероятно, будет лучшим выбором для Вас, чем Perl. Это имеет много хороших ресурсов, многочисленное сообщество (хотя не столь большой, как Perl, вероятно), "выделяется" немного на резюме и имеет хорошую репутацию.
Если бы те 2 являются Вашим единственным выбором, я выбрал бы Python.
Иначе необходимо изучить JavaScript.
No я имею в виду действительно , изучают это...
Если бы Вы не будете делать веб-разработки с этим языком, любой из них сделал бы. Если Вы, можно найти, что выполнение веб-разработки в жемчуге немного более сложно, так как все платформы требуют большего знания языка. Можно сделать хорошие вещи в обоих, но мое мнение - то, что жемчуг позволяет более быструю разработку.
кроме того, скала regexes perl!