Подтвердить что ты не робот

Передача нескольких флагов в намерение в Android

У меня есть эта активность, в которой перечислены некоторые сведения, которые я предоставляю для кнопки обновления. То, как я его обновляю (возможно, не лучшим образом любыми способами), снова запускает деятельность снова и снова. Чтобы сделать задний стек работать так, как мне нужно, мне нужно передать флаг FLAG_ACTIVITY_CLEAR_TOP в намерение, и он отлично работает. Но чтобы представить иллюзию, что информация обновляет информацию в рамках этой деятельности и не полностью перезапускает ее, мне также нужно добавить флаг FLAG_ACTIVITY_NO_ANIMATION. До сих пор мне не удалось заставить эти два флага работать вместе. Я пробовал следующие методы:

theIntent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION+Intent.FLAG_ACTIVITY_CLEAR_TOP); theIntent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION|Intent.FLAG_ACTIVITY_CLEAR_TOP); `

theIntent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
theIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

Очистить вершину работает правильно для всех из них, но анимация все еще существует. Любая помощь будет принята с благодарностью.

4b9b3361

Ответ 1

Использовать оператор | для установки нескольких флагов

theIntent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION|Intent.FLAG_ACTIVITY_CLEAR_TOP);

Ответ 2

Используйте addFlags(), чтобы добавить в Intent несколько флагов.

i.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

Ответ 3

Вы можете попробовать использовать

overridePendingTransition(0,0);

сразу после вызова startActivity();

Ответ 4

Для людей, которые могут делать Android-приложение в Kotlin

coolIntent.flags = Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_NEW_TASK