想要实现一个listview初始化时和数据变化后显示到列表的最末,简单地说就是像聊天窗或者是日志输出那样的情景。
开始没去仔细看listview对象的属性,按照惯性思维就去 调用 listView.scrollTo(offset_x,offset_y);
然后又被一篇奇怪的日志误导了什么外层容器和 内层两个view ...干!浪费我时间。
其实listView元素直接在xml里就可以简单定义实现好这个效果,附带实现的方法三个。
方法1:直接在layout里对listView的属性定义
StackFromBottom: true
Transcript Mode: alwayScroll
方法2: 把上面的方法改为java代码的方式声明
listView.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);
listView.setStackFromBottom(true);
方法3: 变通的做法 把焦点focus去listView的最后一个item,那自然就是显示最底部
每次适配器 adapter.notifyDataSetChanged() 之后要记得调用,略麻烦
注意要用 post的方法确保listview的数据已经加载完毕
private void scrollMyListViewToBottom() {
listView.post(new Runnable() {
@Override
public void run() {
// Select the last row so it will scroll into view...
listView.setSelection(listAdapter.getCount() - 1);
}
});
}
参考文: http://stackoverflow.com/questions/3606530/listview-scroll-to-the-end-of-the-list-after-updating-the-list
- 浏览: 11333 次
- 性别:
相关推荐
Android 实现ListView滚动到底部自动加载数据
ListView的数据滑动到底部时,会自动加载获取数据,然后把加载近来的新数据加载进ListView中。
c# listview 实现循环滚动显示
Android 实现ListView滚动到底部自动加载数据修正版
ListView把数据显示到屏幕
listview滑动到底部自动加载数据,并显示滚动的底部的那个条目,点击按钮回到顶部.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
我们在使用ListView的时候需要和数据进行绑定,那么问题来了,如何获取SQLite数据库中的数据并动态的显示到ListView当中呢?其实过程很简单:首先要获取SQLite数据(当然首先你要创建一个SQLite数据库并填写了一些...
用ListView来显示数据库数据,通常需要进行设置,so,封装了针对数据库显示数据的控件。
ListView快速显示100万条数据用时1秒 最精简单代码演示快速显示
详细介绍了在C#中用ListView显示数据记录,并附有源代码
ListBox自动滚动到底部
ListView绑定数据和设置ListView无数据的时候显示TextView暂无数据
C#ListView控件显示数据库数据的源代码
Android连接后台mysql数据库,并将数据库中的数据展示在Android客户端
Android--ListView滚动到底部自动加载下页数据Demo
1 已经成功实现对ListView滚动条的自定义,定义的效果和新浪微博,QQ微博...的效果一样。 2 实现了对ListView分批量加载数据,滑动到ListView底部的时候会自动加载数据。
用TreeView和ListView控件中显示数据 用TreeView和ListView控件中显示数据
使用QML实现自定义滚动条,并作用于listView和tableView中,代码可直接通过cmd命令运行
解决了ScrollView和listView之间的冲突,简单的实现了微信中聊天页面中拖动的效果,如有不足,请多批评指正!
一个android读取sqlite数据库的数据并用listview显示demo,如有问题及时提醒。