java list 不能用_List集合使用注意的问题

在做自动保存草稿的功能遇到集合数据的问题,先贴自动保存草稿的代码

/**

* 每5 秒保存一次草稿

*/

private void startDraftTimerTask(){

if (draftTimer == null) {

draftTimer = new Timer(true);

draftTimer.schedule(new TimerTask() {

@Override

public void run() {

if(!isStopSave){

initDraft();

addCacheDraft();

}

}

}, 5000, 5000);

}

}

initDraft()这个方法里面会执行下面的代码

//保存已选照片

Bimp.address.clear();

for (int i = 0; i < photoList.size(); i++) {

Bimp.address.add(photoList.get(i).getPath());

}

mDraft.setImageList(Bimp.address);

自动保存草稿每5秒保存一次,配置草稿的内容 这个mDraft.setImageList(Bimp.address);

mDraft这个类是这个 ModelDraft 实体类

/**

* 类说明: 草稿箱

*

* @author wz

* @version 1.0

* @date 2015-1-26

*/

public class ModelDraft extends SociaxItem {

/**

* 图片地址列表集合

*/

private ArrayList imageList = new ArrayList<>();

public ArrayList getImageList() {

return imageList;

}

public void setImageList(ArrayList imageList) {

if(this.imageList.size() > 0) {

this.imageList.clear();

}

this.imageList.=imageList;

}

}

每次保存草稿都会执行下面清空数据并赋值

mDraft.setImageList(Bimp.address);

if(this.imageList.size() > 0) {

this.imageList.clear();

}

this.imageList.=imageList;

每次调用最后导致集合imageList 都是空集合,地址一样导致全部清空,一直没找见问题都不知道啥问题导致的

最后修改为

if(this.imageList.size() > 0) {

this.imageList.clear();

}

this.imageList.addAll(imageList)

然后数据就都有了,在此记录一下这个问题,以后集合使用尽量使用添加,不要直接赋值

by 郝金刚

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值