如果用户在 EditText android 中只输入新行,如何隐藏发送按钮?
How to hide button send if user enter only new lines in EditText android?
正如问题所说
我想隐藏发送按钮,但是当用户输入文本编辑文本时我想显示这个按钮,我还想在用户只输入新行或 space 时隐藏按钮,以防止他发送空留言
我的代码
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);
}
}
您必须将 textwatcher 添加到 edittext。而trim 方法移除space 结束。您可以检查此代码
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) {
}
});
正如问题所说 我想隐藏发送按钮,但是当用户输入文本编辑文本时我想显示这个按钮,我还想在用户只输入新行或 space 时隐藏按钮,以防止他发送空留言
我的代码
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);
}
}
您必须将 textwatcher 添加到 edittext。而trim 方法移除space 结束。您可以检查此代码
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) {
}
});