![](/img/trans.png)
[英]how to pass a value back to previous fragment destination using Android navigation component?
[英]How to pass a function as an argument to a destination fragment - Android Navigation Component
我有一個DialogFragment
擴展了我想在導航圖中用作目的地的 DialogFragment,這樣我就可以像打開任何其他片段一樣打開它。 我想將函數作為 arguments 傳遞給我的DialogFragment
class 以用於正負按鈕偵聽器。 在這種情況下,它們將是來自調用 Fragment 的函數。
那么,是否可以將函數作為 arguments 傳遞給導航組件目標,或者是否有另一種方法來 go 這樣做。 DialogFragment 需要自己的 ViewModel 嗎?
正如@CommonsWare 建議的那樣,我最終這樣做的方式是擁有一個共享的 ViewModel。
ViewModel 的設置如下:
class ViewModel(application: Application) : AndroidViewModel(application) { }
它是這樣實例化的,在使用它的兩個片段中使用requireActivity()
以確保它充當 singleton,因為這些片段共享一個父活動。
val viewModel = ViewModelProvider(requireActivity()).get(ViewModel::class.java)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.