ListView 滑动监听的几种状态
2016-08-07 20:15
204 查看
package com.example.listviewscrolllistener; import android.os.Bundle; import android.app.Activity; import android.graphics.Color; import android.util.Log; import android.view.Gravity; import android.view.Menu; import android.view.View; import android.widget.AbsListView; import android.widget.ArrayAdapter; import android.widget.TextView; import android.widget.AbsListView.OnScrollListener; import android.widget.ListView; public class MainActivity extends Activity { private ListView mlv; private String[] str=new String[]{"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mlv=(ListView)findViewById(R.id.mListView); mlvmethod(); } private void mlvmethod() { mlv.addHeaderView(getheaderView()); mlv.addFooterView(getFooterView()); mlv.setAdapter(new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_expandable_list_item_1, str)); mlv.setOnScrollListener(new OnScrollListener() { //滑动状态的监听 //第一参数listView视图,第二个参数滑动状态 @Override public void onScrollStateChanged(AbsListView view, int scrollState) { switch (scrollState) { //空閒狀態 case OnScrollListener.SCROLL_STATE_IDLE: Log.i("lege", "空閒狀態"); break; //滑動狀態 case OnScrollListener.SCROLL_STATE_TOUCH_SCROLL: Log.i("lege", "滑動狀態"); break; //慣性 case OnScrollListener.SCROLL_STATE_FLING: Log.i("lege", "慣性"); break; default: break; } } //滚动状态 //第一参数listView视图,第二个参数首个条目,第三个参数可件可见条目数,第四个参数总条目数 @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { Log.i("lege", "首个条目"+firstVisibleItem+"可见条目"+visibleItemCount+"总条目数"+totalItemCount); } }); } private View getFooterView() { TextView mtv=new TextView(this); mtv.setText("====尾部===="); mtv.setGravity(Gravity.CENTER); mtv.setPadding(20, 20, 20, 20); mtv.setTextColor(Color.RED); mtv.setBackgroundColor(Color.BLUE); return mtv; } private View getheaderView() { TextView mtv=new TextView(this); mtv.setText("====头部===="); mtv.setGravity(Gravity.CENTER); mtv.setPadding(20, 20, 20, 20); mtv.setTextColor(Color.RED); mtv.setBackgroundColor(Color.BLUE); return mtv; } }
相关文章推荐
- 监听列表ListVIew的滑动状态
- ListView异步加载 LruCache缓存 滑动状态监听
- DrawerLayout的使用 侧滑加载Listview,首页使用Fragment和处理点击触摸冲突、穿透事件和监听菜单滑动状态的改变的详细介绍
- Android ListView监听滑动事件的方法(详解)
- [置顶] android ListView包含Checkbox滑动时状态改变
- 精确监听ListView滑动到底部
- Android ListView在有checkbox的情况下上下滑动选中状态错误以及position错乱
- 关于uisliderview 监听停止滑动的状态
- CheckBox的选择状态会根据ListView或GridView的滑动而自动改变
- 安卓listview监听滑动到底部
- ListView的滑动监听(二)
- ListView滑动监听事件
- android 根据原理分析ListView滑动checkbox状态被清除 不保存
- Android ListView监听上下滑动(判断是否显示返回顶部按钮)
- ListView使用技巧(三):滑动监听
- Android 自定义listview 添加监听器 解决屏幕滑动组件状态干扰的问题checkbox
- 精确监听ListView滑动到底部
- 【Android】ListView监听上下滑动(设置滚动监听判断ListView的滚动方向同时获取屏幕高度、ListView实际高度,判断是否需要展示返回顶部按钮(具体逻辑请看代码--附有详细注释)。
- 简单记录,listview中的动态销毁item时checkbox状态监听
- ListView保存滑动状态