加载更多之前的列表数据正常获取,当加载更多成功后,点击加载更多的item,比如点击第11条,拿的确是第12条的数据
1.加载更多的数据设置:
private void setLoadMoreData(String json) {
//处于子线程
Gson gson = new Gson();
final CollectedBean collectedBean = gson.fromJson(json, CollectedBean.class);
final List<CollectedBean.DataBean> data = collectedBean.getData();
mDatas = new ArrayList<>();
Log.d(TAG, "1111curr="+mCurrentCounter+" ,data="+data.size());
final int totalCount = mCurrentCounter + data.size();//视频总条数
// Log.d(TAG, "1110= "+totalCount);
runOnUiThread(new Runnable() {
@Override
public void run() {
if (mCurrentCounter >= totalCount) {
//数据全部加载完毕
mAdapter.loadMoreEnd();
} else {
if (isErr) {
for (int i = 0; i < data.size(); i++) {
CollectedBean.DataBean dataBean = data.get(i);
CollectedBean bean = new CollectedBean();
String title = dataBean.getName();
int watchCount = dataBean.getClick();
String img = dataBean.getImg();
String totalTime = dataBean.getLenght();
bean.setTitle(title);//标题
Log.d(TAG, "1121= "+title);
bean.setWatchCont(watchCount + "");//观看数
bean.setImgUrl(img);//封面
bean.setTotalTime(totalTime);//视频时长
bean.setData(data);
// collectedBean.setData(data);
mAdapter.addData(bean);
mDatas.add(bean);
}
//加载更多后position总数需要添加为和totalCount相同数目,否则会下标越界
for (int i = 0; i < totalCount; i++) {
CollectedBean.DataBean dataBean = data.get(i);
data.add(dataBean);
}
mCurrentCounter = mAdapter.getData().size();
//主动调用加载完成,停止加载
mAdapter.loadMoreComplete();
} else {
//获取更多数据失败
isErr = true;
//同理,加载失败也要主动调用加载失败来停止加载(而且该方法会提示加载失败)
mAdapter.loadMoreFail();
}
}
}
});
}
2.item点击事件:
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
List<CollectedBean> data = getData();
CollectedBean collectedBean = data.get(position);
List<CollectedBean.DataBean> data1 = collectedBean.getData();
CollectedBean.DataBean dataBean = data1.get(position);
String title = dataBean.getName();//主标题
String coverImg = dataBean.getImg();//封面
int vid = dataBean.getVid();//vid
int click = dataBean.getClick();//观看数
String length = dataBean.getLenght();//视频时长
List<CollectedBean.DataBean.QualityBean> quality = dataBean.getQuality();
CollectedBean.DataBean.QualityBean superClearQualityBean = quality.get(0);////获取超清视频URL
CollectedBean.DataBean.QualityBean highClearQualityBean = quality.get(1);////获取高清视频URL
CollectedBean.DataBean.QualityBean standardClearQualityBean = quality.get(2);////获取标清视频URL
String superClearUrl = superClearQualityBean.getUrl();
String highClearUrl = highClearQualityBean.getUrl();
String standardClearUrl = standardClearQualityBean.getUrl();
BaseApplication.getApplication().getMap().put("superClearUrl", superClearUrl);//超清视频地址
BaseApplication.getApplication().getMap().put("highClearUrl", highClearUrl);//高清视频地址
BaseApplication.getApplication().getMap().put("standardClearUrl", standardClearUrl);//标清视频地址
BaseApplication.getApplication().getMap().put("titleName", title);//主标题
Log.d(TAG, "1123= "+title);//初始化10条数据点击正常,加载更多后,点击第11条拿的却是第12条的数据
BaseApplication.getApplication().getMap().put("subName", "");//副标题
BaseApplication.getApplication().getMap().put("coverImg", coverImg);//封面图片
BaseApplication.getApplication().getMap().put("channelName", "栏目信息");//栏目信息
BaseApplication.getApplication().getMap().put("startColor", "#FFFFFF");//开始渐变色
BaseApplication.getApplication().getMap().put("endColor", "#FFFFFF");//结束渐变色
BaseApplication.getApplication().getMap().put("vid", vid + "");//视频id,根据此id获取视频播放详情页的"相关推荐"列表数据
BaseApplication.getApplication().getMap().put("watchCount", click + "");//观看数
BaseApplication.getApplication().getMap().put("myLikeTotalTime", length);//视频时长
Intent toVideoPlay = new Intent(mContext, VideoPlayActivity.class);
mContext.startActivity(toVideoPlay);
//传递数据到视频播放界面
}