Экран создания сообщения все еще доступен для кликов некоторое время после вызова в нем popBackStack().Android

Форум для тех, кто программирует под Android
Ответить
Гость
 Экран создания сообщения все еще доступен для кликов некоторое время после вызова в нем popBackStack().

Сообщение Гость »


Предположим, у меня есть два составных объекта: Экран A и Экран B. Я перехожу от Экран A к Экран B:


Изображение


На Экран B есть кнопка «Назад», которая после нажатия вызывает popBackStack():

@Composable веселый экранB( навконтроллер: навконтроллер ) { ... IconButton(onClick = { navController.popBackStack() }) { Икона( imageVector = Icons.Filled.ArrowBackIos, contentDescription = stringResource(R.string.content_description_back_icon) ) } ... } Желаемое поведение заключается в том, что после нажатия этой кнопки снова отображается Экран A. Это отлично работает, если вы нажмете кнопку один раз:


Изображение


Если вы нажмете кнопку дважды в довольно быстрой последовательности, Экран B выскочит из задней стопки, но также и Экран A, и у меня останется пустое место. экран:


Изображение


NavController использует переходы по умолчанию, и очевидно, что вы все равно можете взаимодействовать с компонуемым объектом во время перехода навигации.

Теперь я могу:
[*]отключить переходы навигации (чего я делать не хочу) [*]или отключить взаимодействие с составным объектом после вызова popBackStack(), но для этого потребуется отредактировать каждый составной объект в моем проекте, который имеет аналогичную кнопку «Назад», а затем не забыть добавить этот код к каждому новому можно составить с помощью такой кнопки.
Мне кажется, что кто-то уже сталкивался с этой проблемой и существует более элегантное решение, чем то, что я предложил. К сожалению, в инете ничего подходящего не нашел. Если у вас есть идеи, пожалуйста, помогите.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»