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

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

RecyclerView遇到的問題記錄

2019-11-09 17:19:02
字體:
來源:轉載
供稿:網友

RecyclerView遇到的問題記錄

1.RecyclerView 使用水平滾動的 LinearLayoutManager 時,焦點丟失問題 設置 RecyclerView 的 LayoutManager 為 LinearLayoutManager ( LinearLayoutManager.HORIZONTAL ),并且 ItemView 里面含有 EditText 。當位置為第三或以上的 ItemView 中的 EditText 獲得焦點時, RecyclerView 會自動滾動到第一個 ItemView 的位置。

當改為 LinearLayoutManager.VERTICAL 時,不會出現以上問題。 終于解決,只要繼承 LinearLayoutManager ,重寫其中的 requestChildRectangleOnScreen 方法,默認返回 false 就 ok 了。

2.RecyclerView中的Item中有EditText,同時我們需要對EditText增加輸入監聽的情況出現的問題: 我們在滑動的時候,其他行的EditText會莫名地調用addTextChangedListener,這個時候,我們的position不能用,onBindViewHolder的position來獲取,list中的元素,因為此時的position是不固定的,也就是說list.get(position),這個拿到的object也是不固定的,所以我們需要在addTextChangedListener的afterTextChange方法中重新通過 CutInfo.CutSizesBean bean =list.get(viewHolder.getAdapterPosition()); 這樣能保存bean拿到的值是跟當前的顯示的holder是對應的,不然會出現數據紊亂的情況。

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

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 溆浦县| 嫩江县| 婺源县| 磴口县| 南雄市| 双城市| 汶上县| 蕲春县| 新巴尔虎左旗| 稷山县| 沂南县| 嘉祥县| 饶河县| 阿尔山市| 阜南县| 息烽县| 双桥区| 聊城市| 明水县| 紫阳县| 双牌县| 肃宁县| 炉霍县| 阿荣旗| 茌平县| 上杭县| 遂平县| 策勒县| 德令哈市| 翁牛特旗| 长乐市| 鹿邑县| 突泉县| 五指山市| 简阳市| 通河县| 合水县| 门头沟区| 资溪县| 平阳县| 庐江县|