在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Android/ RecyclerView加載更多數(shù)據(jù),為什么點(diǎn)擊加載出來(lái)的數(shù)據(jù)就顯示下標(biāo)越界了?

RecyclerView加載更多數(shù)據(jù),為什么點(diǎn)擊加載出來(lái)的數(shù)據(jù)就顯示下標(biāo)越界了?

 /**
     * 設(shè)置加載更多數(shù)據(jù)
     */
    private void setLoadMoreJsonData(String json) {
        //目前處于子線(xiàn)程
        Gson gson = new Gson();
        HomeListBean homeListBean = gson.fromJson(json, HomeListBean.class);
        final List<HomeListBean.DataBean> data = homeListBean.getData();
        mSize += data.size();//首次加載默認(rèn)10條數(shù)據(jù),用于請(qǐng)求加載更多數(shù)據(jù)
        mDatas = new ArrayList<>();
        final int totalCount=mSize;//視頻總條數(shù)
        Log.d(TAG, "totalCount="+totalCount);
        getActivity().runOnUiThread(new Runnable() {
            @Override
            public void run() {
                if (mCurrentCounter >= totalCount) {
                    //數(shù)據(jù)全部加載完畢
                    homeAdapter.loadMoreEnd();
                } else {
                    if (isErr) {
                        for (int i = 0; i < data.size(); i++) {
                            HomeListBean.DataBean dataBean = data.get(i);
                            HomeListBean.DataBean.ChannelBean channel = dataBean.getChannel();
                            HomeListBean bean = new HomeListBean();
                            String dataName = dataBean.getName();
                            bean.setTvHomeItemTitle(dataName);//長(zhǎng)標(biāo)題
                            String channelName = channel.getName();
                            bean.setBtnGameType(channelName);//欄目標(biāo)題
                            String img = dataBean.getImg();
                            bean.setImgUrl(img);//封面
                            String videoLength = dataBean.getLenght();
                            bean.setTotalTime(videoLength);//視頻總時(shí)長(zhǎng)
                            int click = dataBean.getClick();
                            bean.setWatchCount(click + "");//觀(guān)看數(shù)
                            String subname = dataBean.getSubname();
                            bean.setSubName(subname);//副標(biāo)題
                            int vtotal = dataBean.getVtotal();
                            bean.setTvVideoCount(vtotal + "");//item視頻個(gè)數(shù)
                            String sc = channel.getSc();
                            bean.setStartColor(sc);//按鈕開(kāi)始顏色
                            String ec = channel.getEc();
                            bean.setEndColor(ec);//按鈕結(jié)束顏色
                            bean.setData(data);//!必須設(shè)置data
//                            data.add(dataBean);
                            homeAdapter.addData(bean);
                            mDatas.add(bean);
                        }
                        mCurrentCounter = homeAdapter.getData().size();
                        //主動(dòng)調(diào)用加載完成,停止加載
                        homeAdapter.loadMoreComplete();
                    } else {
                        //獲取更多數(shù)據(jù)失敗
                        isErr = true;
                        //同理,加載失敗也要主動(dòng)調(diào)用加載失敗來(lái)停止加載(而且該方法會(huì)提示加載失?。?                        homeAdapter.loadMoreFail();
                    }
                }
            }
        });
    }
 //item點(diǎn)擊事件
    @Override
    public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
        if (view.getId() == R.id.play_icon) {//播放圖標(biāo)
            HomeListBean homeListBean = mDatas.get(position);
            List<HomeListBean.DataBean> data = homeListBean.getData();
//            if(data.size()!=0&&data!=null){}
            Log.d(TAG, "size="+mDatas.size()+"  position="+position);
            HomeListBean.DataBean dataBean = data.get(position);//這里越界
            String titleName = dataBean.getName();
            String subName = dataBean.getSubname();
            String coverImg = dataBean.getImg();
            int vid = dataBean.getVid();
            HomeListBean.DataBean.ChannelBean channel = dataBean.getChannel();
            List<HomeListBean.DataBean.QualityBean> quality = dataBean.getQuality();
            HomeListBean.DataBean.QualityBean superClearQualityBean = quality.get(0);//獲取超清視頻URL
            HomeListBean.DataBean.QualityBean highClearQualityBean = quality.get(1);//獲取高清視頻URL
            HomeListBean.DataBean.QualityBean standardClearQualityBean = quality.get(2);//獲取標(biāo)清視頻URL
            String superClearUrl = superClearQualityBean.getUrl();
            String highClearUrl = highClearQualityBean.getUrl();
            String standardClearUrl = standardClearQualityBean.getUrl();
            String startColor = homeListBean.getStartColor();
            String endColor = homeListBean.getEndColor();
            //傳遞播放地址,視頻標(biāo)題到播放界面
            BaseApplication.getApplication().getMap().put("superClearUrl", superClearUrl);//超清視頻地址
            BaseApplication.getApplication().getMap().put("highClearUrl", highClearUrl);//高清視頻地址
            BaseApplication.getApplication().getMap().put("standardClearUrl", standardClearUrl);//標(biāo)清視頻地址
            BaseApplication.getApplication().getMap().put("titleName", titleName);//主標(biāo)題
            BaseApplication.getApplication().getMap().put("subName", subName);//副標(biāo)題
            BaseApplication.getApplication().getMap().put("coverImg", coverImg);//封面圖片
            BaseApplication.getApplication().getMap().put("coverImg", coverImg);//封面圖片
            BaseApplication.getApplication().getMap().put("channelName", channel.getName());//欄目信息
            BaseApplication.getApplication().getMap().put("startColor", startColor);//開(kāi)始漸變色
            BaseApplication.getApplication().getMap().put("endColor", endColor);//結(jié)束漸變色
            BaseApplication.getApplication().getMap().put("vid", vid);//視頻id,根據(jù)此id獲取視頻播放詳情頁(yè)的"相關(guān)推薦"列表數(shù)據(jù)
            Intent toVideoPlay = new Intent(mContext, VideoPlayActivity.class);
            mContext.startActivity(toVideoPlay);
        } else if (view.getId() == R.id.ll_video_total) {//視頻數(shù)
            Intent toTopicPlay = new Intent(mContext, TopicPlayActivity.class); //跳轉(zhuǎn)到專(zhuān)題播放界面
            mContext.startActivity(toTopicPlay);
        }
    }
回答
編輯回答
我以為

理論上 position對(duì)應(yīng)data的 index
所以請(qǐng)檢查 adapter中的 getItemCount()方法是否正確重寫(xiě)

2018年8月30日 10:31