第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

使用 EditText 編輯 RecyclerView 中的重復(fù)項(xiàng)目

使用 EditText 編輯 RecyclerView 中的重復(fù)項(xiàng)目

飲歌長(zhǎng)嘯 2023-05-10 16:58:05
我有一個(gè)可編輯的元素列表:我可以向列表中添加/刪除新元素。此外,我可以復(fù)制每個(gè)元素——復(fù)制的元素附加到列表的末尾。每個(gè)元素都顯示有相應(yīng)的 EditText,用戶可以在其中輸入給定元素的數(shù)量。問(wèn)題:復(fù)制元素 E1 后,編輯 E1 的數(shù)量也會(huì)更改 E2 的數(shù)量。每個(gè) ListItem 看起來(lái)像這樣: TextView(ElementTitle) / EditText(ElementQuantity) 在許多元素的列表上一切都完美無(wú)缺 - 直到我使用我的“復(fù)制”功能。我認(rèn)為問(wèn)題與重用 EditTextListeners 的 Recyclerview 有關(guān)。我按照此答案中的描述在 onCreateViewHolder 中分配它們:https://stackoverflow.com/a/31860393/6551120。我嘗試在我能想到的任何值的地方添加 notifydatasetchanged() 。在 duplicatedSelected() 中,我嘗試注銷和清除適配器和 LayoutManager 并創(chuàng)建一個(gè)新的適配器 - 但沒(méi)有任何結(jié)果。這是復(fù)制我的元素的方法(在 ListActivity 中):private void duplicateSelected(){   List selectedItemPositions = mAdapter.getSelectedItems();   for (int i = 0; i < selectedItemPositions.size(); i++) {      int j =(int) selectedItemPositions.get(i);      modulElements.add(modulElements.get(j));   }   mAdapter.notifyDataSetChanged();在我的適配器中:private class ModulElementEditTextListener implements TextWatcher {        private int position;        public void updatePosition(int position) {            this.position = position;        }        //Other Override Methods cut out for simplicity            @Override        public void afterTextChanged(Editable editable) {            updatePosition(position);            int timesMultiplied;            if(editable.toString().equals("")){                timesMultiplied=Integer.parseInt("0");            }else{                timesMultiplied = Integer.parseInt(editable.toString());            }                        modulElements.get(position)                .setMultiplier(newModulElementMultiplier());            modulElements.get(position)                .getMultiplier().setTimesMultiplied(timesMultiplied);                    }    } 輸入 E1 的數(shù)量時(shí)的預(yù)期結(jié)果:E1 的數(shù)量發(fā)生變化輸入 E1 的數(shù)量時(shí)的實(shí)際結(jié)果:E1 和 E2 的數(shù)量(以及 E3、E4、E5...當(dāng)我復(fù)制多次時(shí))發(fā)生變化。如果我將元素列表保存到數(shù)據(jù)庫(kù)并重新打開(kāi)它,我可以完美地編輯 E1 的數(shù)量并且它不會(huì)改變 E2 的數(shù)量 - 正如我期望的那樣在第一種情況下發(fā)生。歡迎任何提示或想法,非常感謝!
查看完整描述

1 回答

?
浮云間

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊

您必須為您的數(shù)據(jù)模型實(shí)現(xiàn)可克隆接口并修改這一行

modulElements.add(modulElements.get(j).clone());

現(xiàn)在列表中有不同的對(duì)象


查看完整回答
反對(duì) 回復(fù) 2023-05-10
  • 1 回答
  • 0 關(guān)注
  • 210 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)