我有一个EditText和一个Spinner。最初Spinner是Disabled,我希望只要EditText中有一些文本就启用它。例如,如果我在EditText字段中键入内容它应该被启用,当我擦除文本,直到没有其他Spinner应该去回到禁用状态,任何帮助?
答案 0 :(得分:1)
在TextWatcher
字段上使用EditText
,并针对CharSequence
检查""
的内容。如果它们相等,请禁用Spinner
,否则启用它。
private Spinner mySpinner; // Of course, this has to be defined somewhere
// ...
final EditText editBox = (EditText) findViewById(<your EditText field>);
editBox.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
// Nothing
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// Nothing
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (s.toString().equals("")) {
mySpinner.setEnabled(false);
} else {
mySpinner.setEnabled(true);
}
}
});
您可能还需要先检查mySpinner.isEnabled()
,然后再致电setEnabled(...)
。
答案 1 :(得分:0)
对EditText小部件使用addTextChangedListener(TextWatcher watcher)并检查小部件getText()是否为空字符串,然后启用微调器。