Android:使ViewModel仅存在2个片段

时间:2019-07-17 08:23:57

标签: android android-fragments viewmodel

我有一个包含5个片段的活动。现在,我只想为其中的2个片段创建一个ViewModel,当用户从这2个片段中移出(因此调用mean_of_sum)时,应该销毁ViewModel。有可能吗?

我要执行此操作的原因是,每当用户输入这两个片段之一(因此它存储其中两个片段的临时数据)时,便要有一个新的ViewModel。

3 个答案:

答案 0 :(得分:0)

在这两个片段之间共享此视图模型,而只是不将其插入或与任何其他片段共享。

要在两个片段之间创建视图模型,请使用:

MyViewModel model = ViewModelProviders.of(getActivity()).get(SharedViewModel.class);

在两个片段之间共享视图模型,然后在其他片段中简单地创建或使用此视图模型以防止他们访问该视图模型

答案 1 :(得分:0)

我认为这是不可能的,因为ViewModel是在包含它的活动的整个生命周期中创建和共享的。也许尝试将这种逻辑移到活动/帮助对象等的ViewModel中。

答案 2 :(得分:0)

共享的ViewModel处于活动状态,并且取决于您将其注入哪里。