根据Android中EditText中的文本启用和禁用Button

Dav*_*own 14 android button android-edittext

如果EditText中的单词少于3个单词,我想按Button禁用,如果EditText中的单词超过3个单词,那么我想启用它以便它可以获得Clicked.

有人能帮我一下吗?

Uda*_*ran 33

你必须addTextChangedListener要你的EditText

像这样:

yourEditText.addTextChangedListener(new TextWatcher() {
      @Override
      public void afterTextChanged(Editable arg0) {
         enableSubmitIfReady();
      }

      @Override
      public void beforeTextChanged(CharSequence s, int start, int count, int after) {
      }

      @Override
      public void onTextChanged(CharSequence s, int start, int before, int count) {
      }
    });
Run Code Online (Sandbox Code Playgroud)

在那种方法中,你应该这样做:

 public void enableSubmitIfReady() {

    boolean isReady = yourEditText.getText().toString().length() > 3;    
    yourbutton.setEnabled(isReady);
  }
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你.

  • 好的答案,除了我更喜欢看到那种if-else模式简化为:`yourbutton.setEnabled(isReady);` (2认同)