保持ListView的选中的item出现在页面上

来源:互联网 发布:吉他收费软件 编辑:程序博客网 时间:2024/06/04 17:49

做音乐播放器用到的一个功能,当选中的一个条目不在当前页面上的时候,会自己滚动过去


1.监听ListView的滑动事件,并将当前页面可以显示的第一个item和最后一个记录下来


mPlayList.setOnScrollListener(new OnScrollListener() {@Overridepublic void onScrollStateChanged(AbsListView view, int scrollState){}@Overridepublic void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount){mStartItem = firstVisibleItem;mEndItem = firstVisibleItem + visibleItemCount;}});


2.在点击按钮的时候做判断,如果是小于顶部的item,就向上滚动,如果是大于底部的item,就向下滚动

if (position <= mStartItem){mPlayList.smoothScrollBy(-1, 100);mPlayList.smoothScrollToPosition(position);}else if (position >= mEndItem - 1){mPlayList.smoothScrollBy(1, 100);mPlayList.smoothScrollToPosition(position);}

0 0
原创粉丝点击