0

我的应用程序中有一个editText,我正在添加一个监听器,如下面的代码

if(edit!=null){
        edit.setOnFocusChangeListener(new View.OnFocusChangeListener() {            
            public void onFocusChange(View v, boolean hasFocus) {           
                // TODO Auto-generated method stub
                if( paramKey!=null){

                    if(!hasFocus){
                    if(edit.getText()!=null)
                        dataModel.updateParamsValue(paramKey, edit.getText().toString());
                    }

                }
            }

        });
    }

当我专注于我的editText并输入它锁定gui的文本时,我会错过什么吗?

4

1 回答 1

1

dataModel.updateParamsValue 是一个繁重的操作吗?你的监听器在 UI 线程中工作,所以它会锁定 UI 直到它完成。尝试像这样更改代码:

if(edit.getText()!=null)
                v.post(new Runnable(){
                    dataModel.updateParamsValue(paramKey, edit.getText().toString());
                });
            }
于 2011-09-20T09:44:07.720 回答