如何在EditText字段不为空时启用Spinner

时间:2012-08-01 21:19:52

标签: android android-edittext android-spinner

我有一个EditText和一个Spinner。最初Spinner是Disabled,我希望只要EditText中有一些文本就启用它。例如,如果我在EditText字段中键入内容它应该被启用,当我擦除文本,直到没有其他Spinner应该去回到禁用状态,任何帮助?

2 个答案:

答案 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()是否为空字符串,然后启用微调器。