为什么我不能向这个 Observable 添加一个观察者?

Why can't I add an observer to this Observable?

以下是我的代码,我遵循了 this 文章:


    public static final String BASE_URL = "https://newsapi.org/";
    public static final String ENDPOINT = "/v2/top-headlines";
    public static final String KEY = "my_key";
    public static final String C_CODE = "us";
    // main API ="https://newsapi.org/v2/top-headlines?country=us&apiKey=my_key

   public interface ResponseClient {
        @GET(ENDPOINT)
        Observable<MResponse> getArticles(@Query("apiKey") String key, @Query("country") String countryCode);

    }
    public static Observable<MResponse> loadDataViaRetroFit() {
        Moshi moshi = new Moshi.Builder().build();
        MoshiConverterFactory pojoConvertorMoshi = MoshiConverterFactory.create(moshi);
        OkHttpClient okHttpClient= new OkHttpClient.Builder().build();
        Retrofit retrofit =
                new Retrofit.Builder().client(okHttpClient).baseUrl(BASE_URL)
                        .addConverterFactory(pojoConvertorMoshi)
                        .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
                        .build();

        ResponseClient client = retrofit.create(ResponseClient.class);

        Observable<MResponse> myObservable  = client.getArticles(KEY,C_CODE);

        return myObservable;

    }

根据那篇文章,我应该能够调用这个函数并注册一个观察者来观察我的 activity 的变化,但这并没有显示为一个选项。

我做错了什么?更令人困惑的是,为什么我应该是提供MResponse的人?

MResponse 是响应的 POJO class,改造将用于 JSON 响应的自动转换,我想观察它。

您输入错误 Observable class。您已导入 android.database.Observable instead of io.reactivex.Observable。切换导入应该可以解决它。