我正在使用DataBinding
并遵循MVVM 架构,现在我被困在如何添加新片段,ViewModel
因为我们需要定义点击事件ViewModel
。这是我的MainViewModel
课
public class MainViewModel {
private Context context;
public MainViewModel (Context context) {
this.context = context;
}
public void onClick(View v) {
}
}
这是我定义点击事件的xml
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="viewmodel"
type="com.example.MainViewModel" />
</data>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="@{viewmodel::onClick}"
android:text="click me"/>
</RelativeLayout>
</layout>
现在我怎样才能得到supportFragmentManager
或childFragmentManager
从我的 ViewModel 类?我试过用activity.getSupportFragmentManager()
,activity.getChildFragmentManager()
但没有那种方法。
我知道我们可以使用以下代码添加片段
getActivity().getSupportFragmentManager().beginTransaction()
.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out, android.R.anim.fade_in, android.R.anim.fade_out).
add(R.id.container, fragment, "").addToBackStack("main").commit();
但是如何在ViewModel
课堂上做到这一点