关于listview中新增一条记录时,最后两条消息重复的问题。
经过检查发现原来是在添加到list队列中的hashmap在新增一个list的没有重新new一个,就直接添加进去了,当然会干掉以前的最后一条消息,然后又新增一条消息,所以最后的结果是最后的两条消息时重复的。
用代码举例子说明
// 清空回复栏 edt_answer.setText(""); // 隐藏软键盘 InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(edt_answer.getWindowToken(), 0); //新建一个消息的hashmap mapMessageInfo = new HashMap<String, Object>(); //新增的消息放到map中 mapMessageInfo.put("msg_date", new SimpleDateFormat( "yyyy/MM/dd HH:mm:ss").format(new Date())); mapMessageInfo.put("msg_info", anwser_MessageContent); //添加到list队列里面 list_message_item.add(mapMessageInfo);
主要以前的问题就在于没有新建一个消息的haspmap直接用的是以前的,所以会导致覆盖掉以前的最后一个,同时新增加一个,导致了最后两条消息时重复的问题。