首页 > 解决方案 > 如何为用户禁用按钮,直到 editText 处于活动状态?

问题描述

我想让用户无法点击按钮,直到他没有“退出”或点击远离 EditText。

就像,按钮会在那里,但是当用户在 EditText 中输入文本时,它会变灰,并且只有当用户离开 editText 时才能再次单击。

我希望我的问题很清楚。我怎样才能做到这一点?

标签: javaandroidandroid-studioandroid-edittext

解决方案


您的按钮行为取决于editext的焦点,因此您可以使用

 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)

推荐阅读