2012-08-01 41 views
1

我有一个EditText和一个微调。最初Spinner是禁用的,我希望它在EditText中有一些文本时被启用,例如,如果我在EditText字段中键入某些内容,它应该被启用,并且随着我删除文本,直到没有其他内容Spinner应该去回到残疾人,任何帮助?如何启用微调只要EditText字段不为空

回答

1

EditText字段中使用TextWatcher,并检查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); 
     } 
    } 
}); 

您可能还需要调用它setEnabled(...)前检查mySpinner.isEnabled()

0

对EditText小部件使用addTextChangedListener(TextWatcher watcher),并检查小部件getText()是否为空字符串,然后启用微调器。