OnBackPress для диалогового фрагмента в Котлине для AndroidAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 OnBackPress для диалогового фрагмента в Котлине для Android

Сообщение Anonymous »

Это фрагмент диалога, который раздувает XML-файл. Этот фрагмент диалога затем будет использоваться в другом фрагменте в качестве всплывающего окна.
Я пытаюсь переопределить кнопку «Назад», где кнопка «Назад» не должна закрывать/закрывать фрагмент диалога. он должен только передавать живые данные через модель представления и выводить сообщение «Нажата кнопка «Назад»! Вы не можете выйти здесь».
В настоящее время, когда я нажимаю кнопку «Назад», диалоговое окно фрагмент все равно будет закрыт. Как я могу решить эту проблему?
class MsicUpdateLater : DialogFragment() {

private val sharedViewModel: BrnViewModel by activityViewModels()

private lateinit var backPressedCallback: OnBackPressedCallback

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setStyle(STYLE_NORMAL, R.style.FullWidthSheetDialog)

backPressedCallback = object : OnBackPressedCallback(true) {
override fun handleOnBackPressed() {
// is this the right way?
Toast.makeText(requireContext(), "Back Button Pressed! You can't exit at here", Toast.LENGTH_SHORT).show()
sharedViewModel.msicDialogFragment()
}
}
requireActivity().onBackPressedDispatcher.addCallback(this, backPressedCallback)
}

override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.brn_tin_update_later_pop_up, container, false)
}

override fun onDestroyView() {
super.onDestroyView()
backPressedCallback.remove()
}
}


Подробнее здесь: https://stackoverflow.com/questions/786 ... in-android
Ответить

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

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

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

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

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