簡體   English   中英

我怎樣才能按回以關閉應用程序?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM