android在view.requestFocus(0)返回false的解决办法

我们有时候想让listview的第一行自动获取到焦点,我们就会使用view.requestFocus(0)来操作,而有时候并不生效,debug后显示rerurn为false。

这是因为我们获取焦点太早,listview控件还为加载完毕。可以尝试一下方法解决:

listview.post(new Runnable(){

@Override

public void run(){

view.requestFocus(0);

}

});

设置是否获得焦点。若有requestFocus()被调用时,后者优先处理。注意在表单中想设置某一个如EditText获取焦点,光设置这个是不行的,需要将这个EditText前面的focusable都设置为false才行。在Touch模式下获取焦点需要设置focusableInTouchMode为true。

标签用于指定屏幕内的焦点View。

例如我们点击tab键或enter键焦点自动进入下一个输入框
用法: 将标签置于Views标签内部

<EditText id="@+id/text"
                         android:layout_width="fill_parent"
                         android:layout_height="wrap_content"
                         android:layout_weight="0"
                         android:paddingBottom="4">
                   <requestFocus />
            </EditText>

上一篇:POJ 题目2411 Mondriaan's Dream(状压DP)


下一篇:POJ2411 Mondriaan's Dream