Android MVVM导航器-从导航器打开片段的更好方法是?

时间:2018-08-11 08:21:16

标签: android android-fragments mvvm android-architecture-components android-jetpack

我对MVVM架构还很陌生,我喜欢遵循使用here的导航器的想法,这里的问题是导航器用于活动交互,BaseNavigator看起来像这样,很容易不需要任何android类的导入:

public interface BaseNavigator {

    void finishActivity();

    void finishActivityWithResult(int resultCode);

    void startActivityForResult(Class cls, int requestCode);


    void startActivityForResultWithExtra(Class cls, int requestCode, String extraKey, String extraValue);
} 

如果在需要从ViewModel中打开片段的情况下要打开片段,并且想避免在BaseNavigator方法的任何参数中使用Fragment类以使其可测试,如何我要去做吗? 当前,我正在考虑使BaseNavigator具有openFragmentA()openFragmentB()等方法。这种方法有意义吗?我只是在想碎片的数量可能会增加并在以后变得过多。

我读过某个地方,直接从Fragment / Activity内部导航并没有完全遵守android MVVM的规则,因此我想避免从另一个View中打开一个View。

0 个答案:

没有答案