Disabling the send button when the EditText is empty when using imeOption= actionSend

后端 未结 1 1153
南方客
南方客 2021-01-06 07:39

When the text is empty, we want to disable the button (which is how it\'s set on portrait mode) Any ideas?

Edit: I don\'t think it\'s clear but I can enable/disable

相关标签:
1条回答
  • 2021-01-06 08:23

    Add a TextChangedListener which will get called whenever the text inside the EditText gets changed.

    message.addTextChangedListener(new TextWatcher() {
    
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
        public void onTextChanged(CharSequence s, int start, int before, int count) {}
    
        public void afterTextChanged(Editable s) {
            if (s == null || s.length() == 0) {
               send.setEnabled(false);
               message.setImeOptions(EditorInfo.IME_FLAG_NO_ENTER_ACTION);
            }
            else {
              send.setEnabled(true);
              message.setImeOptions( /* whatever you previously had */ );
            }
    }
    

    Alternatively, you can also let your class implement the TextWatcher interface which makes the code a bit cleaner.

    public class MyDialogFragment implements TextWatcher { ... }
    
    0 讨论(0)
提交回复
热议问题