大家晚上好,我是 RxJava 和函数式编程的新手。所以我有一个使用方法的 Retrofit repo:
@POST("/rest/getMonitors")
Observable<List<Camera>> getMonitors(@Body User user);
这是正常工作。它返回我的相机实体列表。
在我的主要活动中:
List<Camera> cameraList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
serverApi.getMonitors(user)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
cameras -> cameraList = cameras,
throwable -> {},
()->onStart()
);
}
所以在 OnCreate 中,我试图获取摄像机列表。在 onNext 方法中,我将相机保存在本地字段中,而在 onComplete 方法中,我正在调用 onStart。
但是当我打电话时:
@Override
protected void onStart() {
super.onStart();
Log.i("@@@SIZE", String.valueOf(cameraList.size()));}
它给了我:
'int java.util.List.size()' on a null object reference
你能解释一下这个问题吗,请。非常感谢您的帮助。
千万里不及你
烙印99
相关分类