Winform中如何获取和设置listview的垂直滚动条当前位置麻烦你了

Winform中如何获取和设置listview的垂直滚动条当前位置麻烦你了,第1张

自带的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滚动到某一行的位置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9782254.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存