我有一个基本的 lorem ipsum 响应 json url,如下所示: https://baconipsum.com/api/?type= all-meat¶s=10&start-with-lorem=10
在我的 APIService 接口中,我按如下方式调用它:
import io.reactivex.Observable;
import retrofit2.http.GET;
public interface APIService
{
@GET("application/json")
Observable<List<NewsFeed>> getProductData();
}
我使用响应数据的 NewsFeed 模型:
public class NewsFeed
{
private String feed;
public void setFeed(String feed)
{
this.feed = feed;
}
public String getFeed()
{
return feed;
}
}
然后我试图将该数据从 Url 传递到我的 recyclerview 中......
Gson gson = new GsonBuilder()
.setLenient()
.create();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(url)
.addConverterFactory(GsonConverterFactory.create(gson))
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.build();
APIService apiService = retrofit.create(APIService.class);
Observable<List<NewsFeed>> observable = apiService.getProductData().subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread());
observable.subscribe(new Observer<List<NewsFeed>>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(List<NewsFeed> newsFeeds)
{
newsFeedList = new ArrayList<>();
for(int i = 0; i < newsFeeds.size(); i++)
{
NewsFeed newsFeedModel = new NewsFeed();
newsFeedModel.setFeed(newsFeeds.get(i).getFeed());
newsFeedList.add(newsFeedModel);
}
mAdapter = new NewsAdapter(getActivity(), newsFeedList);
recyclerView.setAdapter(mAdapter);
recyclerView.setHasFixedSize(true);
recyclerView.setNestedScrollingEnabled(false);
}
});
}
我如何让这个错误消失?有没有特定的方法来处理字符串结果?
守着一只汪
相关分类