【发布时间】:2015-09-14 15:51:41
【问题描述】:
我正在学习 RxJava 这篇文章:http://blog.danlew.net/2014/09/15/grokking-rxjava-part-1/
第一个例子使用 RxJava 打印一个字符串。我对它做了一点改动。请参阅以下代码。
Observable myObservable = Observable.create(
new Observable.OnSubscribe() {
@Override
public void call(Subscriber<? super String> o) {
o.onNext("hello world");
o.onCompleted();
}
}
);
Subscriber mySubscriber = new Subscriber() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(String s) {
Toast.makeText(mActivity,s,Toast.LENGTH_SHORT).show();
}
}
只是让它显示敬酒。
首先Android Studio生成的代码是Observable中的call(Object o),Subscriber中的onNext(Object o)
然后我按照文章改了,把“Object o”改成“Subscriber o”
但 Android Studio 在订阅者 o 处通知我“Class 'Anonymous class derived from OnSubscribe' must be either declared abstract or implement abstract method 'call(T)' in Action1”。以及 onNext() 处的“method does not override method from it's superclass”
我做错了什么?
【问题讨论】:
-
你注册 mySubsriber 到你的 observable 了吗?
标签: java android rx-java rx-android