View的requestFocus()和requestFocusFromTouch()方法的区别

if(userNameEditText.isInTouchMode()){
userNameEditText.requestFocusFromTouch();
}else{
userNameEditText.requestFocus();
}
不理解这两个方法的意思,去看了下API。了解了:




首先,这两个方法都是获得焦点的方法。

其次,requestFocus()在两种情况下不能获得焦点:

1.对应的View不支持Focus
2.对应的View支持Focus,但是不支持在Touch模式下的Focus。

而requestFocusFromTouch()就是解决requestFocus()的第二种不能获得焦点的情况,也就是说即使在Touch模式下不支持焦点,也能够获得焦点。

猜你喜欢

转载自daffy.iteye.com/blog/2116883