为什么没有调用onFocusChange(View v,boolean hasFocus)?

时间:2015-01-25 11:45:12

标签: android focus

我有一个按钮(redButton)和一个修改后的AutoCompleteTextView(字段),当我点击redButton时,字段会将其ArratyAdapter设置为redAdapter并下拉其内容,但是当redButton失去焦点时,我希望它重置适配器在onFocusChange中(View v,boolean hasFocus)。但是,当redButton失去焦点时,从未调用此方法。

以下是我的代码:

        redButton.setOnFocusChangeListener(new OnFocusChangeListener() {          

        public void onFocusChange(View v, boolean hasFocus) {
            Log.d(Tag, "in red button OnFocusListener...");
            if (!hasFocus) {
               // code to execute when button loses focus
                Log.d(Tag, "red button lost focus...");
                 field.setAdapter(numAdapter);
                 Log.d(Tag, "re-set numAdapter...");
                 field.invalidate();
                 field.setThreshold(1);
                 field.requestFocus();
                Log.d(Tag, "exiting onFocusChange()...");
            }
        }
    });

那么为什么没有onFocusChange(View v,boolean hasFocus)调用?

谢谢!

1 个答案:

答案 0 :(得分:0)

关于手机的焦点意味着焦点(光标)在场上。在onFocus中未检测到鼠标光标。事实上,根本无法检测到鼠标光标。