我正在使用導航組件,它使用findNavController().navigate(). 我想檢索當前顯示的片段FragmentContainerView來自MainActivity我要修改的“編輯”按鈕setOnClickListener的功能來執行“保存”功能(我已經知道如何將文本從編輯更改保存),它檢查當前顯示的片段和改變setOnClickListener相應地發揮作用。所以在那個特定的片段中,它將執行“保存”功能。但是如何從 中獲取當前顯示的片段MainActivity?
我看到了很多其他解決方案,但他們都在使用,FragmentTransaction或者他們只是顯示獲取當前片段的代碼,但他們沒有顯示MainActivity將啟動獲取當前片段的代碼的哪一部分。有什么幫助嗎?我正在使用 Kotlin。

uj5u.com熱心網友回復:
您可以添加OnDestinationChangedListener到NavController你內心MainActivity
navController.addOnDestinationChangedListener { _, destination, _ ->
if(destination.id == R.id.your_savable_fragment) {
button.text = "Save"
//....
}
if(destination.id == R.id.your_editable_fragment) {
button.text = "Edit"
//....
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/403193.html
標籤:
上一篇:本地廣播收不到廣播
