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 に答える