我有一个 EditText 和一个 Spinner。最初 Spinner 被禁用,我希望它在 EditText 中有一些文本时启用,例如,如果我在 EditText 字段中输入一些内容,它应该被启用,并且当我擦除文本直到没有其他任何东西时 Spinner 应该去回到禁用,任何帮助?
问问题
476 次
2 回答
1
TextWatcher
在字段上使用 aEditText
并检查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(...)
它之前进行检查。
于 2012-08-01T21:25:08.480 回答
0
对 EditText 小部件使用 addTextChangedListener(TextWatcher watcher) 并检查小部件 getText() 是否不是空字符串,然后启用微调器。
于 2012-08-01T21:24:44.567 回答