touch mode 是用户在交互过程中的一种视图模式。当用户touch手机屏幕执行操作的时候就
会触发该模式。而在非touch 模式下,则触发的是trackball 模式, navigation 模式or keyboard
navigation 模式,这些模式发生的情况比如,按功能键,键盘等等。
touch mode下,没有selection foucus。
在touch mode,ListView.getSelectedItemPosition()返回值为INVALIDATE_POSITION
我们应该使用Click listener(setOnItemClickListener)或者choice mode(setChoiceMode
(int))
View.setFocusableInTouchMode()若为true,view在touch mode下可以接受focus。
focusable在touch mode
如果,用户在touch mode触摸的widget为focusable,则该widget可以获得焦点,否则,该
widget不能获得焦点。
备注:listview修改listview选中项的状态,背景,获取焦点等等
可以通过自定义adapter实现
(1)自定义adapter,提供方法setSelectedPosition(int positon)
(2)在listview的onListItemClick()中设置选中项position,(即调用etSelectedPosition方法);调用adapter.notifiyDataSetChange()
(3)在adapter中getView中修改,当position等于设置的选中position时,对item进行自定义修改(修改背景颜色,添加跑马灯效果等等)
分享到:
评论