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

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

RecyclerView遇到的問題記錄

2019-11-09 16:13:11
字體:
供稿:網(wǎng)友

RecyclerView遇到的問題記錄

1.RecyclerView 使用水平滾動(dòng)的 LinearLayoutManager 時(shí),焦點(diǎn)丟失問題 設(shè)置 RecyclerView 的 LayoutManager 為 LinearLayoutManager ( LinearLayoutManager.HORIZONTAL ),并且 ItemView 里面含有 EditText 。當(dāng)位置為第三或以上的 ItemView 中的 EditText 獲得焦點(diǎn)時(shí), RecyclerView 會(huì)自動(dòng)滾動(dòng)到第一個(gè) ItemView 的位置。

當(dāng)改為 LinearLayoutManager.VERTICAL 時(shí),不會(huì)出現(xiàn)以上問題。 終于解決,只要繼承 LinearLayoutManager ,重寫其中的 requestChildRectangleOnScreen 方法,默認(rèn)返回 false 就 ok 了。

2.RecyclerView中的Item中有EditText,同時(shí)我們需要對(duì)EditText增加輸入監(jiān)聽的情況出現(xiàn)的問題: 我們?cè)诨瑒?dòng)的時(shí)候,其他行的EditText會(huì)莫名地調(diào)用addTextChangedListener,這個(gè)時(shí)候,我們的position不能用,onBindViewHolder的position來獲取,list中的元素,因?yàn)榇藭r(shí)的position是不固定的,也就是說list.get(position),這個(gè)拿到的object也是不固定的,所以我們需要在addTextChangedListener的afterTextChange方法中重新通過 CutInfo.CutSizesBean bean =list.get(viewHolder.getAdapterPosition()); 這樣能保存bean拿到的值是跟當(dāng)前的顯示的holder是對(duì)應(yīng)的,不然會(huì)出現(xiàn)數(shù)據(jù)紊亂的情況。

@Override public void afterTextChanged(Editable s) { CutInfo.CutSizesBean bean =list.get(viewHolder.getAdapterPosition()); if(TextUtils.isEmpty(s.toString())){//同時(shí)解決消失問題 bean.setQuantity(0); }else{ bean.setQuantity(Integer.parseInt(s.toString())); } list.set(viewHolder.getAdapterPosition(),bean); ngPResenter.total(); }

3.其它轉(zhuǎn)載的貼子 [RecyclerView遇到的問題]。(http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2016/0621/4371.html)


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 和顺县| 贵南县| 奈曼旗| 弋阳县| 包头市| 孝昌县| 抚宁县| 化德县| 安仁县| 澄江县| 綦江县| 新平| 衡山县| 阿城市| 青河县| 宜城市| 夏邑县| 泌阳县| 松溪县| 宁武县| 玉龙| 尚志市| 普宁市| 鄂伦春自治旗| 曲水县| 福州市| 体育| 浮梁县| 龙南县| 澄江县| 宽甸| 奉化市| 舒城县| 兴山县| 滨州市| 莲花县| 枣阳市| 宁陵县| 简阳市| 类乌齐县| 喀喇沁旗|