当文本为空时,我们要禁用按钮(这是在纵向模式下设置的方式)任何想法?
编辑:我不认为它很清楚,但我可以启用/禁用我自己的按钮..但是当使用横向模式时,当键盘弹出时,屏幕被一个特定于Android的文本区域覆盖,并带有它自己的按钮(因此imeOption)所以我没有启用/禁用我的按钮的问题..这是我想在文本区域为空时禁用的Android按钮..
答案 0 :(得分:12)
添加TextChangedListener
,只要EditText
内的文字发生变化,就会调用{。}}。
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 */ );
}
}
或者,您也可以让您的类实现TextWatcher
接口,使代码更清晰。
public class MyDialogFragment implements TextWatcher { ... }