国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

XRecyclerView 移除的踩坑之路(XRecyclerView 的bug?)

2019-11-06 09:45:26
字體:
來源:轉載
供稿:網友

                   最近因為需要上下拉的刷新的功能,又不想重復造輪子,小編特意去找了個第三方的開源lib,

現在第三方上下拉刷新的開源lib是非常之多啊,我就不介紹了,反正小編情有獨鐘的看上了XRecyclerView ,

至于為什么,其實是朋友推薦的。。。。。

                 XRecyclerView 使用起來還是挺方便的,小編使用的過程,一路溜溜溜的,各種上下拉加載,

數據和布局顯示都正常 ,但有個需求就是要能刪除某一個item(還沒做點擊事件再見),按道理說,原

RecyclerView 已經自帶增加刪除,只要按正常套路走(排除原RecyclerView 的移除后的錯亂問題),

是能正常實現增刪功能的,但是結果總是出乎人的意料,居然還是出問題了,我滴個天啊啊啊。。。

             算了,還是直接上代碼吧

            小編使用了   XRecyclerView  和 原 RecyclerView  進行比較 :

                XRecyclerView 的設置

        mAdapter = new TestAdapter(mContext,"XRecyclerView");        mLlManager = new LinearLayoutManager(mContext);        mLlManager.setOrientation(LinearLayoutManager.VERTICAL);        mXRcView.setLayoutManager(mLlManager);        mXRcView.setAdapter(mAdapter);           

                原 RecyclerView   的設置

        mAdapter = new TestAdapter(mContext,"RecyclerView");        mLlManager = new LinearLayoutManager(mContext);        mLlManager.setOrientation(LinearLayoutManager.VERTICAL);        mRecycler.setLayoutManager(mLlManager);        mRecycler.setAdapter(mAdapter);

                以上兩個屬性的設置都一樣的 , adapter 也是一樣的

                看看adapter 的數據綁定方法里,就對三個位置屬性進行了打印,不做其他

   @Override    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {        Log.e("bug", mTag + " ---->   Adapter   " + holder.getAdapterPosition() + "   Layout   " + holder.getLayoutPosition() + "  position  " + position);    }          

              然后不應用跑起來,不做任何點擊和刪除操作,直接看控制臺打印

             先看原  RecyclerView 

E/bug: RecyclerView ---->   Adapter   0   Layout   0  position  0E/bug: RecyclerView ---->   Adapter   1   Layout   1  position  1E/bug: RecyclerView ---->   Adapter   2   Layout   2  position  2E/bug: RecyclerView ---->   Adapter   3   Layout   3  position  3            嗯,沒問題,位置都一樣

           接下來我們看XRecyclerView 

E/bug: XRecyclerView ---->   Adapter   1   Layout   1  position  0E/bug: XRecyclerView ---->   Adapter   2   Layout   2  position  1E/bug: XRecyclerView ---->   Adapter   3   Layout   3  position  2E/bug: XRecyclerView ---->   Adapter   4   Layout   4  position  3          心累啊,怪不得一直掛,這鍋誰背?

          

知道原因,解決就好辦了,在原RecyclerView 錯亂問題的基礎上,對使用 
 holder.getAdapterPosition() 、
 holder.getLayoutPosition() 、
 position
進行一定的加減一操作就可以了

         這是不是 XRecyclerView  的bug?還是說我遇到了一個假的XRecyclerView 

             


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 老河口市| 涞源县| 巴里| 大港区| 五大连池市| 宜章县| 波密县| 贵州省| 陆河县| 广汉市| 民和| 赤峰市| 平舆县| 化州市| 德钦县| 青阳县| 新绛县| 石棉县| 宜昌市| 深州市| 巴塘县| 波密县| 鄂托克旗| 共和县| 琼中| 蛟河市| 珲春市| 大埔县| 织金县| 曲靖市| 蚌埠市| 东丰县| 会泽县| 乾安县| 永福县| 饶阳县| 饶阳县| 温宿县| 通道| 称多县| 澄迈县|