android 检测ListView滚动到的位置
2014-07-25 01:08
344 查看
ListView滚动
1.要用到一个监听事件是:setOnScrollListener();
API解释是:
Set the listener that will receive notifications every time the list scrolls.
Parameters:l the scroll listener
2.它里面包含了两个方法:一个是:onScrollStateChanged(AbsListView view, int scrollState),用来表明ListView是什么状态(静止,滑动);scrollState 为OnScrollListener.SCROLL_STATE_IDLE:表明ListView是在静止状态 为OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:表明在滑动且手指没有离开屏幕.另外一个是:onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount)在滚动的时候获得一些参数:通过一个小例子来说明:
源码下载地址:
源码
1.要用到一个监听事件是:setOnScrollListener();
API解释是:
Set the listener that will receive notifications every time the list scrolls.
Parameters:l the scroll listener
2.它里面包含了两个方法:一个是:onScrollStateChanged(AbsListView view, int scrollState),用来表明ListView是什么状态(静止,滑动);scrollState 为OnScrollListener.SCROLL_STATE_IDLE:表明ListView是在静止状态 为OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:表明在滑动且手指没有离开屏幕.另外一个是:onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount)在滚动的时候获得一些参数:通过一个小例子来说明:
public class MainActivity extends Activity { private ListView listView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = (ListView) findViewById(R.id.lsitView); List<String> list = new ArrayList<String>(); for (int i = 0; i < 20; i++) { list.add("这是第" + i + "个"); } ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_single_choice, list); listView.setAdapter(adapter); listView.setOnScrollListener(new ListView.OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { switch (scrollState) { case OnScrollListener.SCROLL_STATE_IDLE: // 没有滚动的时候 System.out.println("最后显示的listview的位置是--->>" + listView.getLastVisiblePosition()); if (listView.getLastVisiblePosition() == (listView .getCount() - 1)) { Toast.makeText(MainActivity.this, "滑到listView底了", Toast.LENGTH_SHORT).show(); } if (listView.getFirstVisiblePosition() == 0) { Toast.makeText(MainActivity.this, "listView顶头了", Toast.LENGTH_SHORT).show(); } break; case OnScrollListener.SCROLL_STATE_FLING: System.out.println("SCROLL_STATE_FLING"); break; case OnScrollListener.SCROLL_STATE_TOUCH_SCROLL: System.out.println("SCROLL_STATE_TOUCH_SCROLL" + "能看到的最后一个显示的位置--->>" + listView.getLastVisiblePosition()); break; default: break; } } /** * view The view whose scroll state is being reported * firstVisibleItem the index of the first visible cell (ignore if * visibleItemCount == 0) visibleItemCount the number of visible * cells totalItemCount the number of items in the list adaptor */ @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { } }); } }
源码下载地址:
源码
相关文章推荐
- Android 记录和恢复ListView滚动的位置的三种方法
- android记录和恢复ListView滚动的位置
- Android listview保持滚动位置4种解决方案
- Android--记录和恢复listView滚动位置的3种方法 (20
- android开发之记录ListView滚动位置
- Android 记录和恢复ListView滚动的位置的三种方法(转)
- Android 记录和恢复ListView滚动的位置的三种方法
- Android 记录ListView滚动的位置的三种方法及判断是否滑动到底部
- Android-记录ListView的位置,让ListView下次直接滚动到记录的位置
- android开发之记录ListView滚动位置
- Android 记录和恢复ListView滚动的位置的三种方法
- Android--记录和恢复listView滚动位置的3种方法
- Android listView scroll 恢复滚动位置
- android 记录和恢复ListView滚动的位置 四种方法
- Android 记录和恢复ListView滚动的位置的三种方法
- Android 记录和恢复ListView滚动的位置的三种方法
- Android--记录和恢复listView滚动位置的3种方法
- Android 记录和恢复ListView滚动的位置的两种方法
- android开发之记录ListView滚动位置
- Android 记录和恢复ListView滚动的位置的三种方法