如何为用户禁用按钮,直到 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
我想让用户无法点击按钮,除非他不 '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