今天在做一個含有CheckBox 的ListView時,發(fā)現(xiàn)當(dāng)初始化CheckBox的狀態(tài)后, 滾動ListView,其中CheckBox 的選中狀態(tài)不停的發(fā)生變化。最后發(fā)現(xiàn)原因是 ListView滾動時自動調(diào)用 onCheckedChanged 導(dǎo)致的。在查看了各種博客的解決辦法后,國外的網(wǎng)站上有一個辦法解決了我的問題。寫下來分享一下。
創(chuàng)新互聯(lián)公司主要從事做網(wǎng)站、成都網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)博興,十多年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
在自定義Adapter的getView方法中這樣寫就行了。
//在初始化CheckBox狀態(tài)和設(shè)置狀態(tài)變化監(jiān)聽事件之前,先把狀態(tài)變化監(jiān)聽事件設(shè)置為null holder.checkBox.setOnCheckedChangeListener(null); //然后設(shè)置CheckBox狀態(tài) if(isChecked) { holder.checkbox.setChecked(true); } else { holder.checkbox.setChecked(false); } //然后設(shè)置狀態(tài)變化監(jiān)聽事件 holder.checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){ @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked){ //... }else{ //.... } } });
文章題目:android當(dāng)ListView滾動時自動調(diào)用onCheckedChanged
文章起源:http://vcdvsql.cn/article38/jhijpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、虛擬主機(jī)、、標(biāo)簽優(yōu)化、品牌網(wǎng)站設(shè)計、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)