Android 从ViewModel观察者内部访问主要活动对象

Android 从ViewModel观察者内部访问主要活动对象,android,viewmodel,Android,Viewmodel,定义EventViewModel 在定义了mObject的活动中可以观察到更改: Object mObject EventViewModel eventModel; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); eventModel = ViewModelProviders.of(this).get(EventViewMode

定义EventViewModel

在定义了mObject的活动中可以观察到更改:

Object mObject
EventViewModel eventModel;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    eventModel = ViewModelProviders.of(this).get(EventViewModel.class);
    eventModel.getEvent().observe(this, event -> {

    //can't access the mObject here
    event.val = mObject.val;

};
}
显示的错误类似于在.observe子句内调用mObject时:“this”在此不可用


因此,我的问题是如何从ViewModel observer内部访问Activity对象?

因此这是一个错误的调试器消息@SaeedMasoumi是对的,而我的脑子里堆积如山,说“这”是不可访问的。。趁现在!仅调试器显示的不是…

例如:“MainActivity.this”MainActivity.this.mObject不工作。。。。错误消息是sameI没有发现任何问题。可以在lambda表达式中访问类字段。不在我的框中:)您有ViewModel经验吗?您的代码段有不匹配的括号和括号,并且
event
似乎既是类成员又是局部变量名。请发布更完整的代码。