如何为用户禁用按钮,直到 editText 处于活动状态?

How to disable a button for the user, until editText is active?

我想让用户无法点击按钮,除非他不 'get out of' 或点击离开 EditText。

喜欢,按钮会在那里,但是当用户在EditText中输入文本时,它会变灰,只有当用户离开editText时才会再次点击。

我希望我的问题很清楚。我该怎么做?

在您的 EditText 上设置 OnFocusChangeListener

    editView.setOnFocusChangeListener(new View.OnFocusChangeListener() {
        @Override
        public void onFocusChange(View v, boolean hasFocus) {
           button.setEnabled(!hasFocus);
        }
    });

您的按钮行为取决于编辑文本的焦点,因此您可以使用

 mEditText.setOnFocusChangeListener(new OnFocusChangeListener() {          
        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            if (hasFocus) {
               mButton.setEnabled(false)
            } else {
               mButton.setEnabled(true)
            }
        }
    });

if被扩展了,考虑一行就可以解决

mButton.setEnabled(!hasFocus)

使用 setOnFocusChangeListener 并覆盖 onFocusChange。然后,使用 button.setEnabled