RecyclerView嵌套R(shí)ecyclerView滑動(dòng)卡頓的解決方法
Android 利用RecyclerView仿淘寶訂單頁(yè)面實(shí)現(xiàn),解決RecyclerView嵌套R(shí)ecyclerView滑動(dòng)卡頓
問(wèn)題:
最近在項(xiàng)目中碰到一個(gè)問(wèn)題,類(lèi)似于淘寶訂單頁(yè)面,由于每個(gè)訂單項(xiàng)中可能會(huì)包含多個(gè)具體的項(xiàng)目,要想實(shí)現(xiàn)這種效果,一般來(lái)說(shuō)需要在RecyclerView中嵌套R(shí)ecyclerView,這樣做會(huì)導(dǎo)致,如果訂單項(xiàng)中的具體項(xiàng)目過(guò)多,超過(guò)一屏,展示效果會(huì)有卡頓現(xiàn)象,原因就是由于兩個(gè)RecyclerView的存在,使得滑動(dòng)的view滑出當(dāng)前屏幕的釋放存在沖突
思路:
Ideaqjjl 分析的很詳細(xì),我是從他的分析中得到的思路,對(duì)于Copy黨來(lái)說(shuō),最大的痛苦莫過(guò)于沒(méi)有源碼,于是整合了一下Ideaqjjl的代碼,得到了解決思路,將每一行都看作一個(gè)Item,相當(dāng)于用一個(gè)RecyclerView解決了用嵌套才能得到的結(jié)果,效果真心不錯(cuò),在此灰常感謝Ideaqjjl提供的思路及代碼
解決方式:
根據(jù)RecyclerView的分組設(shè)置,將每一行都作為一個(gè)Item,就相當(dāng)于在一個(gè)RecyclerView中添加item,這樣就可以很好的解決問(wèn)題
@Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { MyViewHolder holder = new MyViewHolder(list.get(viewType).getView(mContext, parent, mIflater)); return holder; } /** * 每一個(gè)位置的item都作為單獨(dú)一項(xiàng)來(lái)設(shè)置 * viewType 設(shè)置為position * @param position * @return */ @Override public int getItemViewType(int position) { return position; }
結(jié)語(yǔ)
奉上git地址,有什么問(wèn)題直接評(píng)論即可,歡迎指正批評(píng),共同進(jìn)步!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- RecyclerView滑動(dòng)到指定Position的方法
- Android中RecyclerView實(shí)現(xiàn)橫向滑動(dòng)代碼
- Android中RecyclerView嵌套滑動(dòng)沖突解決的代碼片段
- Android中RecyclerView 滑動(dòng)時(shí)圖片加載的優(yōu)化
- Android實(shí)現(xiàn)評(píng)論欄隨Recyclerview滑動(dòng)左右移動(dòng)
- android RecyclerView側(cè)滑菜單,滑動(dòng)刪除,長(zhǎng)按拖拽,下拉刷新上拉加載
- Android 滑動(dòng)監(jiān)聽(tīng)RecyclerView線性流+左右劃刪除+上下移動(dòng)
- Android開(kāi)發(fā)中RecyclerView模仿探探左右滑動(dòng)布局功能
- Android RecyclerView滑動(dòng)刪除和拖動(dòng)排序
- Android嵌套R(shí)ecyclerView左右滑動(dòng)替代自定義view
相關(guān)文章
Android游戲開(kāi)發(fā)學(xué)習(xí)①?gòu)椞∏驅(qū)崿F(xiàn)方法
這篇文章主要介紹了Android游戲開(kāi)發(fā)學(xué)習(xí)①?gòu)椞∏驅(qū)崿F(xiàn)方法,涉及Android通過(guò)物理引擎BallThread類(lèi)模擬小球運(yùn)動(dòng)的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10Android 應(yīng)用更換皮膚實(shí)現(xiàn)方法
本文主要介紹Android 應(yīng)用更換皮膚,Android應(yīng)用如果想更換皮膚這里幫大家整理了相關(guān)資料,有需要的小伙伴可以參考下2016-08-08android 如何設(shè)置開(kāi)機(jī)后屏幕亮度默認(rèn)值為自動(dòng)調(diào)節(jié)
在第一次開(kāi)機(jī)后,設(shè)置>顯示>自動(dòng)亮度調(diào)節(jié) 默認(rèn)是勾選上的,具體修改方法如下,感興趣的朋友可以嘗試操作下2013-06-06Android 快速實(shí)現(xiàn)防止網(wǎng)絡(luò)重復(fù)請(qǐng)求&按鈕重復(fù)點(diǎn)擊的方法
下面小編就為大家分享一篇Android 快速實(shí)現(xiàn)防止網(wǎng)絡(luò)重復(fù)請(qǐng)求&按鈕重復(fù)點(diǎn)擊的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01Android的多媒體管理庫(kù)Glide的基本使用示例
這篇文章主要介紹了Android的多媒體管理庫(kù)Glide的基本使用示例,Glide在圖片App中的表現(xiàn)非常好,Google旗下的Yelp也在使用,需要的朋友可以參考下2016-04-04Android利用Canvas標(biāo)點(diǎn)畫(huà)線并加入位移動(dòng)畫(huà)(1)
這篇文章主要為大家詳細(xì)介紹了Android利用Canvas標(biāo)點(diǎn)畫(huà)線并加入位移動(dòng)畫(huà)的第一篇,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-09-09Android Studio 2020新版本卡在Gradle downloading/sync failed/下載緩慢/
Android Studio 2020新版本 卡在Gradle downloading / sync failed / 下載緩慢 / 下載超時(shí) 親測(cè)有效解決辦法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2020-12-12Android實(shí)現(xiàn)跟隨手指拖動(dòng)并自動(dòng)貼邊的View樣式(實(shí)例demo)
本文通過(guò)實(shí)例代碼給大家介紹了android實(shí)現(xiàn)跟隨手指拖動(dòng)并自動(dòng)貼邊的View樣式,效果非常棒,具有參考借鑒價(jià)值,需要的朋友參考下吧2017-01-01Android實(shí)現(xiàn)ListView異步加載圖片的方法
這篇文章主要介紹了Android實(shí)現(xiàn)ListView異步加載圖片的方法,以實(shí)例形式較為詳細(xì)的分析了Android中ListView異步加載圖片的原理與相關(guān)實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10