注意:请阅读完整的问题,如果有人知道答案或任何建议,请随时告诉我
我正在使用改装2以Json格式从互联网下载博客数据,并使用回收站视图将它们显示在列表中。我将我的recyclerview适配器设置为改装回调。
在我的适配器
中 //..........
@Override
public void onResponse(Call<AllBlog> call, Response<AllBlog> response) {
mPosts = response.body().getPosts();
notifyDataSetChanged();
}
.....
我创建了一个数据模型并使它们可以分解。 在MainActivity.java中,我请求api调用,当我得到一些数据时,我保存了它 像这样的onSaveInstanceState
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
//.....
outState.putParcelable(STATE_BLOG_LIST, value);
//.....
}
所以,在onCreate中,当onSaveInstanceState不为null时,我想从onSaveInstanceState中提取数据并在我的列表适配器中设置适配器回调中的数据。这样的事情
if (savedInstanceState == null) {
showLoading();
Api.getBlog(mBlogListAdapter);
} else {
mBlogListAdapter.onResponse(savedInstanceState.getParcelable(STATE_BLOG_LIST), null);
}
但是,当我编写该代码时,此mBlogListAdapter.onResponse(savedInstanceState.getParcelable(STATE_BLOG_LIST), null);
代码行变为红色并显示Wrong 1st argument type. Found: 'android.os.Parcelable', required: 'retrofit2.Call<io.github.niyamatalmass.treehouseblog.Model.AllBlog>
所以我想:
我从savedInstanceState获取了一个parcelable对象,并尝试在onResponse方法中设置该对象,其中第一个参数为Call<AllBlog> call
。
所以现在我的问题是如何将parcelable数据转换为泛型类型(Call<AllBlog>)
。