
自带的listview是没有这么高级的功能的, 要么重写控件,要么换种方式, 我以前也遇到这个问题, 我的解决办法就是获取最后选择的item,然后selected()这个item, 就自动滚动到这个位置了, 可能满足不了LZ的要求..
是通过ListView的OnScrollListener事件中判断的。当listView滚动的时候就会回调OnScrollListener方法。
以下为示例代码(完整代码查看附件):
得到lisView实例
ListView listView = (ListView) findViewById(Ridlistview);
2给ListView注册OnScrollListener事件
listViewsetOnScrollListener(new OnScrollListenerImple());
3实现OnScrollListener 接口,处理事件。
private class OnScrollListenerImple implements OnScrollListener {
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
//如果当前列表的数量等于查询的总数量,则不做任何 *** 作
if(mSimpleAdaptergetCount() >= pagegetRowCount()){
return;
}
if (viewgetLastVisiblePosition() == (totalItemCount - 1)) { //判断是否滑动到最底部
//已经滑动最底部了。
}
}
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
}
只要监听滚动高度来判断触发事件的条件就OK了,举个栗子:1varoDiv=documentgetElementById("div");23windowonscroll=function(){4varscrollTop=documentbodyscrollTop||documentdocumentElementscrollTop;5if(scrollTop>1000){6oDivstyleWebkitTransform="rotateX(120deg)rotateY(200deg)";7}8}第四行是为了兼容处理。scrollTop也是可以设置的,你可以通过某个条件触发赋值:oDivonclick=function(){documentbodyscrollTop=0;}这就是回到顶部 *** 作。
你需要两个变量, 一个存放position最小值, 一个存放position的最大值, 新的position大于最大值就是向下滑动 position小于最小值就是向上滑动, 同时getview之后更新这两个值
>
ListView的Adapter中getView方法是在每个Item项显示的时候调用的,手机屏幕上没有显示的Item就是还没有调用getView方法,在滑动的时候可以看看调用了几次getView,应该还可以获取到每个Item项的高度,计算下应该可以知道这个距离的
以上就是关于Winform中如何获取和设置listview的垂直滚动条当前位置麻烦你了全部的内容,包括:Winform中如何获取和设置listview的垂直滚动条当前位置麻烦你了、android 的ListView中,如何判断其内容已滚动到最顶部或者最底部、如何让TListView滚动到某一行的位置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)