2012-08-01 40 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()是否爲空字符串,然後啓用微調器。