我正在使用MVVM开发应用程序,但无法从AndroidViewModel开始活动。
在布局中,我引用了AndroidViewModel方法,在此方法中,我具有以下代码:
public void startRegister(){
Intent myIntent = new Intent(getApplication().getBaseContext(), RegisterActivity.class);
getApplication().getBaseContext().startActivity(myIntent);
}
但是此代码崩溃了,如何从AndroidViewModel打开另一个活动?这是最好的方法吗?
出现的错误如下:
从Activity上下文外部调用startActivity()需要 FLAG_ACTIVITY_NEW_TASK标志。这真的是您想要的吗?
谢谢
答案 0 :(得分:1)
您不应从ViewModel开始活动,在MVVM中,ViewModel不应了解有关View的任何信息。
一种方法是: