EditTextとSpinnerがあります。最初はスピナーが無効になっていますが、EditTextにテキストがあるときはいつでも有効にします。たとえば、EditTextフィールドに何かを入力すると、スピナーが有効になり、スピナーがなくなるまでテキストを消去します。無効に戻る、何か助けはありますか?
質問する
476 次
2 に答える
1
TextWatcher
フィールドでaを使用し、に対して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(...)
ます。
于 2012-08-01T21:25:08.480 に答える
0
EditTextウィジェットにaddTextChangedListener(TextWatcher watcher)を使用し、ウィジェットのgetText()が空の文字列でないかどうかを確認してから、スピナーを有効にします。
于 2012-08-01T21:24:44.567 に答える