如何更新listview android的最后一行?

时间:2014-02-13 10:29:52

标签: android listview adapter

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

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

@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. Don't add new row
        }else if(msg.equals("Not Seen")) {
           // need to change the status here. Don't add new row     
        } else if(msg.equals("Received message")){
        // need to change the status here. Don't add new row     
    } else {
        // else add new row and add new chat message
    }
    return view;
}

有人可以给我一个解决方案吗?

2 个答案:

答案 0 :(得分:1)

更新适配器并致电:

adapter.notifyDataSetChanged();
getListView().setSelection(adapter.getCount()-1);

答案 1 :(得分:0)

您可以使用listView.getChildAt(listview.getAdapter().getCount()-1) - 最后一行返回的视图。