【发布时间】:2018-10-08 19:54:24
【问题描述】:
已定义 EventViewModel。
在定义了 mObject 的 Activity 中可以观察到变化:
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' is not available here”。
所以我的问题是如何从 ViewModel 观察者内部访问 Activity 对象?
【问题讨论】:
-
例如:“MainActivity.this”
-
MainActivity.this.mObject 不起作用....错误消息是一样的
-
我没有看到任何问题。类字段可在 lambda 表达式中访问。
-
不在我的盒子里 :) 你有 ViewModel 经验吗??
-
您的 sn-p 的括号和大括号不匹配,
event似乎既是类成员又是局部变量名。请发布更完整的代码。