java - weeex[android]list的實現(xiàn)itemview沒有進行重用
問題描述
list的實現(xiàn)使用的是RecyclerView,但getItemViewType返回的是dom的ref,ref在一個dom樹里應該是唯一的;
public int getItemViewType(int position) { return generateViewType(getChild(position)); }
private int generateViewType(WXComponent component) { long id; try { id = Integer.parseInt(component.getDomObject().getRef()); String type = component.getDomObject().getAttrs().getScope(); if (!TextUtils.isEmpty(type)) {if (mRefToViewType == null) { mRefToViewType = new ArrayMap<>();}if (!mRefToViewType.containsKey(type)) { mRefToViewType.put(type, id);}id = mRefToViewType.get(type); } } catch (RuntimeException e) { WXLogUtils.eTag(TAG, e); id = RecyclerView.NO_ID; WXLogUtils.e(TAG, 'getItemViewType: NO ID, this will crash the whole render system of WXListRecyclerView'); } return (int) id; }
問題解答
回答1:進行重用要是同一個type的view才行.按照描述, 每個item的type都是唯一的,也就是彼此都不是同一個東西,代碼無法分辨具體能不能重用.這里應該有個混淆, 把其他地方需要的唯一標識(id)和RecyclerView需要的type混在一起了.如果希望兩個Item的View可以共用,這兩個View的type就應該是一樣的(它們的id可能不一樣)
回答2:樓上+1 itemtype不一樣沒法重用
相關文章:
1. 數(shù)組按鍵值封裝!2. java - 阿里的開發(fā)手冊中為什么禁用map來作為查詢的接受類?3. docker不顯示端口映射呢?4. javascript - webpack中alias配置中的“@”是什么意思?5. javascript - 使用vue官方腳手架進行單元測試,如何覆蓋到watch里的變量?6. javascript - 為什么創(chuàng)建多行多列的表格最后只有一行內有表格7. clone - git sourceTree克隆倉庫時,都不停彈出Password Required彈窗,即時輸入正確的git賬號密碼還是彈出8. 如何用Java向kafka發(fā)送json數(shù)據(jù)9. 主題切換問題,用過別人的webapp在后臺切換模板主題后手機端打開網頁就是切換到的主題了10. html5 - 使用echarts中的圖表 一個頁面導入了好幾個js圖表 實現(xiàn)echarts圖表隨著瀏覽器窗口變化而變化時出現(xiàn)了問題
