RequestFocus用来让某个View获得焦点,RequestFocus只能依附于view内部而不能单独使用。
使用RequestFocus需注意以下几点:
(1)只能用在edittext上,不能用在button上。并且不能用在隐藏的控件上。
(2)若有requestFocus()被调用时,后者优先处理。注意在表单中想设置某一个EditText获取焦点,光设置这个是不够的,需要将这个EditText前面的focusable都设置为false才行。在Touch模式下获取焦点需要设置focusableInTouchMode为true。
RequestFocus用法:将标签置于控件内部,如下所示:
<EditText id="@+id/text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="0" android:paddingBottom="4"> <requestFocus /> </EditText>或者在java源码中调用控件的requestFocus()方法,如下所示:
editText.requestFocus();
总结 由此可知 我们的
<requestFocus />和我们的java代码设置效果是一样的。