[英]how can i press back just to close the app?
我在我的應用程序的 mainActivity 中實現了這個 function 要求按兩次以退出應用程序,一切正常,但即使我想關閉一個片段,它也要求我雙擊,我怎樣才能將它限制在主屏幕上?
override fun onBackPressed() {
if (backPressedTime + 2000 > System.currentTimeMillis()) {
super.onBackPressed()
}else{
Toast.makeText(this, "Premere ancora per tornare indietro", Toast.LENGTH_SHORT).show()
}
backPressedTime = System.currentTimeMillis()
}
您必須使用 OnBackPressedCallBack 接口,該接口將提供一個名為 handleOnBackPressed() 的 function,當您單擊導航返回按鈕時會調用該接口。 如果您的應用程序是單活動應用程序,那么您必須調用 finish() function 來完成您的活動,這將導致退出應用程序。 您可以通過在特定片段中使用 requireActivity() 來訪問 finish()。 如果您使用的是導航組件,請嘗試將此 function 放在您的第一個目標片段中:
private fun setOnBackButtonClickListener() {
val onBackPressedCallback = object : OnBackPressedCallback(true) {
override fun handleOnBackPressed() {
if (backPressedTime + 2000 > System.currentTimeMillis()) {
requireActivity.finish()
} else {
Toast.makeText(this, "Premere ancora per tornare indietro",
Toast.LENGTH_SHORT).show()
}
}
}
requireActivity().onBackPressedDispatcher.addCallback(this, onBackPressedCallback)
}
如果您沒有使用導航組件,請嘗試在要結束應用程序的片段中使用相同的 function。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.