我正在创建一个聊天应用。当我从服务器获得新的聊天时,我通过在列表中添加最后一行来更新列表。但是一旦我发送消息,我就把它添加到列表中。当消息发送时,我从服务器获得成功响应。我需要在列表的最后一行更新成功消息,而不添加新行。
我正在粘贴适配器类的代码块
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (type == TYPE_MESSAGE) {
view = inflater.inflate(R.layout.message_list_view, null);
if(msg.equals("Seen")) {
// need to change the status here. Dont add new row
return view;
}else if(msg.equals("Not Seen")) {
// need to change the status here. Dont add new row
return view;
} else if(msg.equals("Received message")){
// need to change the status here. Dont add new row
return view;
} else {
// else add new row and add new chat message
}
return view;
}
有人可以给我一个解决方案吗?
提前致谢。 Sundeep.S。
答案 0 :(得分:1)
更新列表中使用的现有消息对象,并通知列表适配器更改的数据集如下:
YourCrazyAdapter adapter = ((YourCrazyAdapter) listView.getAdapter());
adapter.notifyDataSetChanged();
答案 1 :(得分:0)
由于没有提供来源,我只能尝试像
那样引导你首先选择最后一项并设置更新其值。然后拨打yourAdapter.setNotifyDatasetChanged()
并完成。