ListView主要确认是否让ListView的Item可以获取到焦点,然后进行判断。
场景一:
ListView 中有多个BUTTON:
mListView.setFocusable(false);//不让ListView可以获取焦点,我们通过让Item中的Button来获取焦点控制上下的移动,注意必须要有BUTTON否则不可以上下移动
mListView.setItemsCanFocus(true);//设置BUTTON可以获取到焦点。
场景二:
ListView中只有一个Button
mListView.setFocusable(true);//让ListView的ITEM可以获取到焦点,当ITEM获取到焦点,同样会影响到此ITEM上的BUTTON的焦点状态,如果ITEM上面有BUTTON,不可以相应onItemClick事件,建议把Button换成TextView或者ImageView,或者让Button失去焦点。
场景三:
如果一个ListView的Item可以获取到焦点(通过上下按键可以选中)那么当焦点在ListView的一个item上面的时候是不会触发ListView所在的Activity中的onKeyDown事件的,我们可以根据此原则来进行焦点的转移。