您的位置:首页 > 移动开发 > Android开发

Android ListView 适配键值事件和点击事件

2015-09-28 15:21 232 查看
1.当使用硬按钮和手指点击同时操作listView的时候,焦点的问题会让人很纠结,如果想做好与用户的交互就更不容易了,

    这个是因为Android在touch模式的时候不涉及到焦点的概念,尽管相应的方法来设置这个模式也有焦点(setFocusIntouchMode),

     但是在时间的开发中还是不能很好的满足很多要求

2.写几点开发适配listView焦点的心得吧

   2.1首先是要先写好ListView条目view的Selector,这个很重要,然后还要在XML定义ListView的地方写号Androd:ListSelector

   2.2要监听ListView的OnClickListener和OnItemSelectListener事件,在事件中将当前选中或点击的position记录下来,通过

        适配器中的setpositon方法,将这个position传递给listviewadapter,然后要在getview方法中判断当前postion和传递进来的

      positon是否相等做background的设置

3.要执行getview方法就要在OnClickListener和OnItemSelectListener监听事件中调用adapter的notifydatasetchanged方法

4.在Activity的onResume方法中模拟一次向下的键值事件,这个是因为点击listview条目后再返回listview焦点失去了,你再按

    向下键就是要两次才有效,第一次是捕获焦点

                Runtime runtime=Runtime.getRuntime();

               runtime.exec("input keyevent " + 20);

4.模拟键值:adb shell input keyevent "int键值"

5.凌乱原创参考DEMO:https://github.com/lycasa/ListViewTest
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android ListView 适配键