【焦点控制】通过按键控制ListView,TabHost中的焦点。

在有ListView的情况下,主要需要确认是否让ListView的Item可以获取到焦点,然后进行判断。


1、ListView 中有两个BUTTON的情况。

mDownloadListView.setFocusable(false);//不让ListView可以获取焦点,我们通过让Item中的Button来获取焦点控制上下的移动,注意必须要有BUTTON否则不可以上下移动
mDownloadListView.setItemsCanFocus(true);//设置BUTTON可以获取到焦点。


2、ListView中只有一个Button

mDownloadListView.setFocusable(true);//让ListView的ITEM可以获取到焦点,当ITEM获取到焦点,同样会影响到此ITEM上的BUTTON的焦点状态,如果ITEM上面有BUTTON,不可以相应onItemClick事件,建议把Button换成TextView或者ImageView.


3、如果一个ListView的Item可以获取到焦点(通过上下按键可以选中)那么当焦点在ListView的一个item上面的时候是不会触发ListView所在的Activity中的onKeyDown事件的,我们可以根据此原则来进行焦点的转移。


你可能感兴趣的:(ListView,button)