问题标签 [android-viewmodel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6257 浏览

android - 何时在 ViewModel 中处理 RxJava2 Disposable?

我在我的应用程序中使用来自 Android 架构组件的ViewModel 。在 ViewModel 中,我使用的是RxJava2订阅,订阅后我会保留Disposable对象。之前,当我在 in 中执行此操作时Activity,我习惯于处理 in-DisposableonDestroy()避免内存泄漏:

我应该何时以及如何处理它ViewModel?我真的需要这样做吗?

0 投票
0 回答
174 浏览

android - 在 AndroidViewModel 构造函数参数中投射 Applcation

我有一个类扩展了我的应用程序中的应用程序类。我想知道是否有办法将 AndroidViewModel 应用程序参数转换为 MyApp 类。像这样的东西:

有了这个,我可以像这样在 ChartViewModel 中检索 MyApp 对象(无需每次都强制转换)

预先感谢。

0 投票
0 回答
186 浏览

android - 弃用 ViewModelProviders 后使用 ViewModel 在片段之间共享数据

我需要在片段之间共享 ViewModel 实例。我知道如何使用 ViewModelProviders 来做到这一点(就像这里),但是从 1.1.0 开始它就被弃用了。现在如何实施?谢谢。

0 投票
1 回答
1362 浏览

android - MVVM 中的 ExoPlayer

我正在尝试在我的应用程序中使用 exoplayer,并且我遵循 MVVM 设计模式,我想制作 PlayerViewModel 类,它可以处理播放器的所有操作(播放曲目、暂停、下一个,...等等),但我面临我需要使用上下文初始化 SimpleExoPlayer但 ViewModel 没有上下文的问题

有什么建议我应该怎么做?
提前致谢

0 投票
1 回答
1810 浏览

android - 如何用架构组件正确实现android Lifecycle

我是架构组件的新手,我已经创建了一个 ViewModel 类并根据架构组件实现 LifecycleObserver,在 ViewModel 类中我有一个可运行接口的覆盖 run() 方法,并在处理程序类的帮助下延迟递归调用它,在这个值图像数组内部发生变化并被实时数据包装。

MainActivity 观察图像数组的变化,随着值的变化,ImageView 绑定图像数组的值。主活动也是生命周期的所有者。

现在我想实现生命周期观察者,这样当我暂停我的应用程序时,run() 方法也应该暂停,当我恢复应用程序时,它从我暂停的地方开始。

我通过在处理程序中创建暂停和恢复方法来尝试它,但它不起作用。

帮我解决这个问题。

MainActivity 类

视图模型类

生命周期观察者

0 投票
1 回答
308 浏览

android - 从 AndroidViewModel 启动 (vpn) 服务

我的搜索没有返回答案,而是一两个未回答的问题。我会尝试以一种也许我能得到答案的方式来表达它。

TL;DR 版本:

我无法弄清楚我们如何从 AndroidViewModel 类启动(VPN)服务。

更长的版本:

通常,我会从一个活动中启动这样的服务:

显然,在 MVVM 中,我想将点击事件传递给 AndroidViewModel(或者只是 ViewModel,但我需要 Context,所以它必须是 AndroidViewModel),并且我想在那里启动服务。

我应该这样做吗?看起来很乱。

或者我应该在 VM 类中实现 onActivityResult 吗?

编辑:这甚至是不可能的:MainActivity.get().onActivityResult(0, RESULT_OK, null);

0 投票
1 回答
1271 浏览

android - 在片段中保留 ViewModel

我正在与 Fragments 合作ViewModel,并希望ViewModel在旋转更改时保留我的 Fragment。当将 my 传递给FragmentViewModelProviders.of()时,它不会被保留,但是当我传递Activity片段所属的 时,它会被保留。那么传递活动应该如何使用?呼入不会保留我ViewModelProviders.of(this)的. 这是预期的行为吗?FragmentViewModel

0 投票
1 回答
1232 浏览

java - Overriding ViewModelStore

Is it possible to provide once own implementation of a ViewModelStore for ViewModelProviders to use instead of the default one?

More precisely, I'm interested in adding fun clear(vm: ViewModel) (or using an index or something similar) functionality to the ViewModelStore so that I can clear a single view model of my choice, not just use the built in ViewModelStore#clear:

which clears all view models.

0 投票
1 回答
41 浏览

android - android LiveData's value is not changing

I have done like docs here but Live data'a value is not changing. Please tell me what am i doing wrong. MainActivity

public class MainActivity extends AppCompatActivity {

NameViewModel.java

0 投票
1 回答
1305 浏览

java - ViewModel 从另一个 ViewModel 观察 LiveData

我有一个Activity, 包含一些视图和 2 个片段(例如TextInputFragmentVoiceInputFragment)。

我创建了下一个 ViewModel:

  • ActivityViewModelvoid onInput(String value)方法
  • interface InputViewModelLiveData<String> getInput()方法
  • TextInputViewModelVoiceInputViewModel作为实施InputViewModel

现在我想从两个片段中观察 getInput 并对它们做出反应。我有下一个想法:

Activity.onCreate

这个想法正确吗?当配置更改并且我的 ViewModel 尝试重新观察彼此时会发生什么?有什么解决办法吗?