Android 里面让ListView滚动有N种方法,这儿列举三种:
我的需求是通过按键让Listview滚动起来,当然这些按键不是通过Android标识接口传输过来的,所以不能通过监听按键事件来实现此功能;
一、方法一:
也是最常用的方法:
listView.setSelection(position);

直接跳转到指定的位置,可以是事件每触发一次,执行一次,形成滚动效果;


二、方法二:
listView.smoothScrollBy(30, 200);listView.smoothScrollToPosition(index);

smoothScrollToPosition类似于setSelection,但setSelection没有动画效果,直接跳转,smoothScrollToPosition是类似于手滑动,有滚动过程,从名字上就是平滑的意思;

三、方法三:
这个方法比较另类,一般用不到,那就是先让listview获取焦点,然后注入上下按键事件:
void sendKey(final int key) {new Thread() {public void run() {try {Instrumentation inst = new Instrumentation();inst.sendKeyDownUpSync(key);} catch (Exception e) {e.printStackTrace();}}}.start();}

更多相关文章

  1. Android(安卓)AsyncTask实现异步任务的执行
  2. Androidstudio开发button按钮的操作以及项目开发大致过程
  3. Android按键响应之初见
  4. Android跨进程通信-IPC初探(三) - 使用AIDL
  5. 关于Android软件盘的显示与隐藏的问题
  6. Android待机的suspend_sys_sync_queue分析
  7. Android中AsyncTask的简单用法 .
  8. 浅谈Java中Collections.sort对List排序的两种方法
  9. Python list sort方法的具体使用

随机推荐

  1. 替代Tableau,思迈特软件Smartbi让Excel成
  2. CentOS 7 加入 AD 域
  3. Elasticsearch认证及安全
  4. 【经典】一位大厂总监的职场答疑
  5. 【管理工具】进程管理工具Supervisor
  6. 【容器技术】Docker容器技术入门(二)
  7. 人机交互之一
  8. 人机交互之二
  9. 人机交互之三
  10. 第二集:人工智能的东方思想历程