如果用户在 EditText android 中仅输入新行,如何隐藏按钮发送



正如问题所说我想隐藏按钮发送,但是当用户输入文本来编辑文本时我想显示这个按钮,我也想在用户只输入新行或空格时仍然隐藏按钮,以防止他发送空消息

我的代码

 edttext_addcomment_addcomment_popup_dialog.addTextChangedListener(new TextWatcher() {
        @Override
        public void onTextChanged(CharSequence s, int start, int before,
                int count) {
            // TODO Auto-generated method stub
        }
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
            // TODO Auto-generated method stub
        }
        @Override
        public void afterTextChanged(Editable s) {
            // TODO Auto-generated method stub
            IsposthasContent();
        }
    }); 
  private void IsposthasContent() {
    // TODO Auto-generated method stub
    String text = edttext_addcomment_addcomment_popup_dialog.getText().toString();
    if (edttext_addcomment_addcomment_popup_dialog.getText() != null && edttext_addcomment_addcomment_popup_dialog.getText().length()>0) {
        btnaddcommentContainer_addcomment_popup_dialog.setEnabled(true);
    } else {
        btnaddcommentContainer_addcomment_popup_dialog.setEnabled(false);           
    }
}

您必须将文本观察器添加到编辑文本。和修剪方法删除空格结束。您可以检查此代码

editTextComment.addTextChangedListener(new TextWatcher() {
         @Override
         public void beforeTextChanged(CharSequence s, int start, int count, int after) {
         }
         @Override
         public void onTextChanged(CharSequence s, int start, int before, int count) {
            if (TextUtils.isEmpty(editTextComment.getText().toString().trim())) {
               buttonSend.setEnabled(false);
               buttonSend.setAlpha(0.5f);
            }
            else {
               buttonSend.setEnabled(true);
               buttonSend.setAlpha(1f);
            }
         }
         @Override
         public void afterTextChanged(Editable s) {
         }
      });

最新更新