Seperti yang ditunjukkan pada kode berikut, saya menerima kesalahan terkait baris berikut, karena castingnya tidak benar
.subscribe((Consumer<? super List<String>>)getAnimalsObserver());
tolong beri tahu saya cara memperbaiki masalah ini.
catatan:
I am using the folloing rx versions
compile 'io.reactivex.rxjava2:rxandroid:2.0.2'
compile 'io.reactivex.rxjava2:rxjava:2.0.5'
kode:
import io.reactivex.Observable;
import io.reactivex.ObservableEmitter;
import io.reactivex.ObservableOnSubscribe;
import io.reactivex.Observer;
import io.reactivex.Scheduler;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.functions.Consumer;
import io.reactivex.schedulers.Schedulers;
kelas publik MainActivity memperluas AppCompatActivity {
getAnimalsObservable()
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe((Consumer<? super List<String>>)getAnimalsObserver());
private Observer<String> getAnimalsObserver() {
return new Observer<String>() {
@Override
public void onSubscribe(Disposable d) {
Log.i(TAG, "onSubscribe->d: " + d);
}
@Override
public void onNext(String s) {
Log.i(TAG, "onNext->s: " + s);
}
@Override
public void onError(Throwable e) {
Log.i(TAG, "onError->e: " + e);
}
@Override
public void onComplete() {
Log.i(TAG, "onComplete");
}
};
}
logcat:
Caused by: java.lang.ClassCastException:
com.example.pc_a.myapplication.MainActivity$1 cannot be cast to
io.reactivex.functions.Consumer
at com.example.pc_a.myapplication.MainActivity.onCreate(MainActivity.java:38)
at android.app.Activity.performCreate(Activity.java:6288)
at
android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
t android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2642)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2754)
getAnimalsObserver
diimplementasikan? - person akarnokd   schedule 17.07.2018Consumer
? Jangan transmisikan dan itu harus dikompilasi. - person akarnokd   schedule 17.07.2018