聊天listview的消息自动更新显示在最后一行
Posted Calo-missile
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了聊天listview的消息自动更新显示在最后一行相关的知识,希望对你有一定的参考价值。
在调用xxxAdapter的notifyDataSetChanged()方法后
Data data = new Data(respose, Data.RECEIVE);
mDatas.add(data);
adapter.notifyDataSetChanged();
listView.setSelection(mDatas.size());//调用此方法即可
注意这里的xxxAdapter是继承(extends)ArrayAdapter<>的
如果是其他的xxxAdapter即继承(extends)BaseAdapter等则调用listView.setSelection(adapter.getCount()-1);
来自http://blog.csdn.net/xiaoluoli88/article/details/45336267的三个方法
Method1:
mListView.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);
Method2:
set this attribute in XML
- android:transcriptMode="alwaysScroll"
Method3:
if the above two methods fail, you can try this:
you can manually tell the list to scroll to the bottom by setting the list selection to the last row.
private void scrollMyListViewToBottom() { myListView.post(new Runnable() { @Override public void run() { // Select the last row so it will scroll into view... myListView.setSelection(myListAdapter.getCount() - 1); } }); }
以上是关于聊天listview的消息自动更新显示在最后一行的主要内容,如果未能解决你的问题,请参考以下文章
Stream 内的 Flutter ListView.Builder 不更新
返回活动后,Android ListView 不显示传入消息