在做聊天的界面,要求进入聊天界面的时候 Listview滑动到底部。
chatMsgLv.post(new Runnable() {
@Override
public void run() {
//查询数据库 聊天信息
List<MsgEntity> msgEntities = IMDBHelper.getInstance().queryMsgByRoomid(ROOM_ID, FIRST_LOAD_MSGNUM);
//将聊天数据 添加到适配器中
chatList = msgEntities;
chatMsgAdapter.setMsgList(msgEntities);
//选中最后一条聊天信息
chatMsgLv.setSelection(chatMsgAdapter.getCount());
}
});
在显示文本消息的时候还好,但是在显示图片列表的时候就不行了,不会滑动到底部。
图片的大小在getview 用LayoutParams 为每一个图片动态计算显示的大小。
看到了网上一些im的demo,发现它们使用的是游标,在其他的控制上倒是差不多,为啥本人这样写达不到效果呢?
chatMsgLv.post(new Runnable() {
@Override
public void run() {
//查询数据库 聊天信息
List<MsgEntity> msgEntities = IMDBHelper.getInstance().queryMsgByRoomid(ROOM_ID, FIRST_LOAD_MSGNUM);
//将聊天数据 添加到适配器中
chatList = msgEntities;
chatMsgAdapter.setMsgList(msgEntities);
//选中最后一条聊天信息
chatMsgLv.setSelection(chatMsgAdapter.getCount());
}
});
在显示文本消息的时候还好,但是在显示图片列表的时候就不行了,不会滑动到底部。
图片的大小在getview 用LayoutParams 为每一个图片动态计算显示的大小。
看到了网上一些im的demo,发现它们使用的是游标,在其他的控制上倒是差不多,为啥本人这样写达不到效果呢?
解决方案
20
listView.getListView().setSelection(
list.size() – 1);
list.size() – 1);
20
if(listView.getCount()>0){
listView.setSelection( list.size() – 1);
}
listView.setSelection( list.size() – 1);
}