如何使螢屏上的按鈕以與物理/虛擬后退按鈕相同的方式起作用?Kotlin,請不要使用 Java。我知道這只是復制一個函式,但這正是我的目標。
我正在嘗試為 android 應用程式 (Android Studio) 學習 Kotlin 的基礎知識,以滿足我的好奇心,也許還可以為神經退行性疾病患者做一些有益的事情。感謝 Internet 幫助,我得到了一個標準的 goto new 活動按鈕(下面的示例),但我被困在那個按鈕上。
val button: Button = findViewById(R.id.button_main_doccont)
button.setOnClickListener {
val intent = Intent(this, page_contact_doctor::class.java)
startActivity(intent)
}
uj5u.com熱心網友回復:
你就不能打電話onBackPressed()的Activity?這將與按下物理 BACK 按鈕完全相同。
uj5u.com熱心網友回復:
你會打電話或者.navigateUp()或.popBackStack()上NavController。
如果您沒有對 NavController 的參考,則可以獲取它。
在 Kotlin 中,在 Fragment 中你可以簡單地做
button.setOnClickListener {
findNavController().navigateUp()
// or
findNavController().popBackStack()
}
否則,您需要參考您從中導航的片段
button.setOnClickListener {
fragment.findNavController().navigateUp()
// or
fragment.findNavController().popBackStack()
}
請注意,popBackStack并navigateUp具有不同的語意。
檔案 popBackStack
嘗試彈出控制器的回堆疊。類似于當關聯的導航主機具有焦點時用戶按下系統后退按鈕。
回傳: 如果堆疊被彈出并且用戶已經導航到另一個目的地,則回傳true,否則回傳false
檔案 navigateUp
嘗試在導航層次結構中向上導航。適用于當用戶在應用程式 UI 的左上角(或開始)按下帶有向左(或開始)箭頭的“向上”按鈕時。當用戶沒有從應用程式自己的任務到達當前目的地時,Up 的預期行為與 Back 不同。例如,如果用戶正在查看當前應用程式中的檔案或鏈接,該活動托管在用戶單擊鏈接的另一個應用程式的任務上。在這種情況下,當前活動(由用于創建此 NavController 的背景關系確定)將完成,并且用戶將在其自己的任務中被帶到此應用程式中的適當目的地。
回傳: 如果導航成功,則回傳true,否則回傳false
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/406836.html
標籤:
上一篇:單擊按鈕更改日期
