ListView如何默认滚动到最后

Android 码拜 10年前 (2015-05-10) 1356次浏览 0个评论
 

ListView数据比较多,超出屏幕
但是默认显示是在最前面的,如果让ListView默认是滚动到最后面的

5分
scrollBy 可以移动
引用 1 楼 birdsaction 的回复:

scrollBy 可以移动

问题是咋滚到最后面呢…

20分
mListView.smoothScrollToPosition(0);//移动到首部

mListView.smoothScrollToPosition(listView.getCount() - 1);//移动到尾部
5分
ListView.setSelection(ListView.getBottom())
同意三楼。。
引用 3 楼 ncepu307 的回复:
mListView.smoothScrollToPosition(0);//移动到首部

mListView.smoothScrollToPosition(listView.getCount() - 1);//移动到尾部

第二个listView是什么,是系统的ListView,还是mListView,还是ListView的适配器
我三个都试了,发觉依据和没有设置一样

listView.scrollBy(0, listView.getBottom());
引用 3 楼 ncepu307 的回复:
mListView.smoothScrollToPosition(0);//移动到首部

mListView.smoothScrollToPosition(listView.getCount() - 1);//移动到尾部

第二个listView是什么,是系统的ListView,还是mListView,还是ListView的适配器
我三个都试了,发觉依据和没有设置一样
前面的代码贴错了

listView.setAdapter(adapter);
		listView.smoothScrollToPosition(adapter.getCount() - 1);
引用 4 楼 AMinfo 的回复:

ListView.setSelection(ListView.getBottom())

按照你的说法,确实可以滚动到最下面,问题滚动到的不是最后一个Item哪里,而是整个LsitView下面,导致有空白的地方,要手触摸才会显示

5分
ListView.setSelection(position)
5分
引用 7 楼 siyehua 的回复:
Quote: 引用 3 楼 ncepu307 的回复:
mListView.smoothScrollToPosition(0);//移动到首部

mListView.smoothScrollToPosition(listView.getCount() - 1);//移动到尾部

第二个listView是什么,是系统的ListView,还是mListView,还是ListView的适配器
我三个都试了,发觉依据和没有设置一样
前面的代码贴错了

listView.setAdapter(adapter);
		listView.smoothScrollToPosition(adapter.getCount() - 1);

不好意思,写错了一个地方:

mListView.smoothScrollToPosition(mListView.getCount() - 1);//移动到尾部

绝对有效果

listview.setSelection(list.size()-1);list为你填充的数据
换个思路,让它显示第一条是你最后的不就行了么,反转显示,,,
引用 12 楼 heaimnmn 的回复:

换个思路,让它显示第一条是你最后的不就行了么,反转显示,,,

这个我早就想过,不过这里不可以,我做的是短信界面,你看短信界面你就知道了

楼主应该知道,实际上ListView维护的可能只有一个多一点屏幕的Item 
别的都是在换数据=== 
所以,同意换思路的做法,你可以变动数据,使人看起来似乎是滚动到了最后 
同时用三楼的方法,设置滚动到现有Item列表的最后 
短信界面是因为它的查找条件有排序,根据实际时间排序,所以它的第一条是最新时间的显示记录
我也做的是类似的,只是我是想我要的item居中(动态的),用ListView.setSelectionFromTop(int position, int y)就行了,搂住看看参数的意义很容易做到你想要的效果
有人成功了吗???发个正确的贴。。急急急
引用 11 楼 pengguohua1988 的回复:

listview.setSelection(list.size()-1);list为你填充的数据

亲测,有效

为什么listview里总是多一空行啊,怎么去掉?
10 楼的确实有用,V5  
listview.setSelection(list.size()-1); 有时没用
ListView.scrollTo(Integer.MAX_VALUE);

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明ListView如何默认滚动到最后
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!