聊天应用 - 更新最后一行

时间:2014-02-12 12:00:14

标签: android listview chat

我正在创建一个聊天应用。当我从服务器获得新的聊天时,我通过在列表中添加最后一行来更新列表。但是一旦我发送消息,我就把它添加到列表中。当消息发送时,我从服务器获得成功响应。我需要在列表的最后一行更新成功消息,而不添加新行。

我正在粘贴适配器类的代码块

@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。

2 个答案:

答案 0 :(得分:1)

更新列表中使用的现有消息对象,并通知列表适配器更改的数据集如下:

YourCrazyAdapter adapter = ((YourCrazyAdapter) listView.getAdapter());
adapter.notifyDataSetChanged();

答案 1 :(得分:0)

由于没有提供来源,我只能尝试像

那样引导你

首先选择最后一项并设置更新其值。然后拨打yourAdapter.setNotifyDatasetChanged()并完成。