当使用editText.isNotBlank()和checkBox.isChecked时,可以通过以下方式启用按钮:
Button btnSubmit = findViewById(R.id.btnSubmit);
EditText editText = findViewById(R.id.editText);
CheckBox checkBox = findViewById(R.id.checkBox);
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
// 在文本发生变化时检查状态
checkButtonStatus(btnSubmit, editText, checkBox);
}
@Override
public void afterTextChanged(Editable editable) {
}
});
checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
// 在选中状态变化时检查状态
checkButtonStatus(btnSubmit, editText, checkBox);
}
});
private void checkButtonStatus(Button btnSubmit, EditText editText, CheckBox checkBox) {
boolean isEditTextNotBlank = editText.getText().toString().trim().length() > 0;
boolean isCheckBoxChecked = checkBox.isChecked();
if (isEditTextNotBlank && isCheckBoxChecked) {
btnSubmit.setEnabled(true);
} else {
btnSubmit.setEnabled(false);
}
}
btnSubmit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// 执行提交操作
submitData();
}
});
请注意,以上代码示例是基于Android平台的Java代码。在其他平台或使用其他编程语言时,具体实现可能会有所差异。
领取专属 10元无门槛券
手把手带您无忧上云