使用imeOption = actionSend时,当EditText为空时禁用发送按钮

Tol*_*a E 4 android android-ui

当文本为空时,我们要禁用按钮(这是在纵向模式下设置的方式)任何想法?

编辑:我不认为它很清楚但我可以启用/禁用我自己的按钮..但是当使用横向模式时,当键盘弹出时,屏幕被一个特定于Android的文本区域覆盖,并带有它自己的按钮(因此imeOption)所以我没有启用/禁用我的按钮的问题..这是我想在文本区域为空时禁用的Android按钮..

Fun*_*onk 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 */ );
        }
}
Run Code Online (Sandbox Code Playgroud)

或者,您也可以让您的类实现TextWatcher使代码更清洁的接口.

public class MyDialogFragment implements TextWatcher { ... }
Run Code Online (Sandbox Code Playgroud)