簡體   English   中英

共享視圖模型的主細節流程

[英]Master detail flow with shared viewmodel

這個Android文檔頁面的“片段之間共享數據”部分描述了如何使用ViewModel解決主詳細信息流中所選項目的共享。 但是,該解決方案僅適用於將兩個片段都放在同一Activity中的大型設備。 在較小的設備上,常用的方法是在其自己的DetailActivity包含細節片段,然后這兩個片段將具有不同的ViewModel實例,因此該方法將失敗。

所以我的問題是,如何將其推廣到所有設備尺寸?

我有一個主意,即使在小型設備上,我也可以將兩個片段放在同一活動中。 將此與我見過的主細節流程的每個實現相違背。 可以實現導航擬合。 然后, DetailActivity將僅用於顯示單個項目以作為對Intent的反應。 它可以實例化SharedViewModel並將設置的項目設置為selectedItem 然后,細節片段可以以相同的方式獲取SharedViewModel的實例,而無需區分兩個父活動。

這個問題是相似的,但是人們在評論中抱怨這是廣泛而不清楚的

為什么在較小的設備上需要使用DetailActivity 您仍然只有一個Activity可以在master和detail Fragment之間持有共享的ViewModel

然后使用Fragment事務或NavigationController在主要和詳細信息之間切換。 唯一的區別是兩個片段將不會在屏幕上同時顯示,但它們仍將共享鏈接到父Activity的基礎ViewModel

也許在問向日葵的例子時不可用。 對其進行檢查,因為它實現了工廠列表的主/詳細流程,這似乎正是您想要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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