Android 当文本为“”时,如何在按下第一个字符后显示“清除按钮”并将其隐藏?

Android 当文本为“”时,如何在按下第一个字符后显示“清除按钮”并将其隐藏?,android,android-edittext,textwatcher,Android,Android Edittext,Textwatcher,我需要在编辑文本的右侧显示一个清除按钮,并在编辑文本时将其隐藏。我该怎么做呢 我只需要知道当文本长度>0或=0时如何显示和隐藏它,仅此而已。设置它的可见性从xml消失 设置它的可见性从xml中消失 试试这个代码 试试这个代码 您可以使用TextWatcher,一种监听器: yourEditText.addTextChangedListener(new TextWatcher() { public void afterTextChanged(Editable s) {

我需要在编辑文本的右侧显示一个清除按钮,并在编辑文本时将其隐藏。我该怎么做呢

我只需要知道当文本长度>0或=0时如何显示和隐藏它,仅此而已。

设置它的可见性从xml消失

设置它的可见性从xml中消失

试试这个代码

试试这个代码

您可以使用TextWatcher,一种监听器:

yourEditText.addTextChangedListener(new TextWatcher() {

      public void afterTextChanged(Editable s) {

        //Here, you can check for text size...
        int length = editText.toString().length();
         [...]



      }

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

      public void onTextChanged(CharSequence s, int start, int before, int count) {}
   });
}

}
摘自。

您可以使用TextWatcher,一种监听器:

yourEditText.addTextChangedListener(new TextWatcher() {

      public void afterTextChanged(Editable s) {

        //Here, you can check for text size...
        int length = editText.toString().length();
         [...]



      }

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

      public void onTextChanged(CharSequence s, int start, int before, int count) {}
   });
}

}
摘自。

是你的答案

使用代码并通过检查字符长度使按钮在文本更改上的可见性打开和关闭。

是您的答案


使用代码并通过检查字符长度使按钮在文本更改上的可见性打开和关闭。

查看下面的代码,它可能会帮助您:

EditText etSearch = (EditText) view.findViewById(R.id.etSearch);

etSearch.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) {
                String str = etSearch.getText().toString();
                if (str.isEmpty()) {
                    btnClear.setVisibility(View.INVISIBLE);
                } else {
                    btnClear.setVisibility(View.VISIBLE);
                }
            }

            @Override
            public void afterTextChanged(Editable s) {

            }
        });

请查看以下代码,它可能会帮助您:

EditText etSearch = (EditText) view.findViewById(R.id.etSearch);

etSearch.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) {
                String str = etSearch.getText().toString();
                if (str.isEmpty()) {
                    btnClear.setVisibility(View.INVISIBLE);
                } else {
                    btnClear.setVisibility(View.VISIBLE);
                }
            }

            @Override
            public void afterTextChanged(Editable s) {

            }
        });

文本监视程序可能适合您

If(editText1.getText.toString.length>0)
 {
  if(button1.getVisibility == View.GONE)
  {
  button1.setVisibility(View.VISIBLE)
  }
}
else
{
 if(button1.getVisibility == View.VISIBLE)
  {
  button1.setVisibility(View.GONE)
  }
}

文本监视程序可能适合您

If(editText1.getText.toString.length>0)
 {
  if(button1.getVisibility == View.GONE)
  {
  button1.setVisibility(View.VISIBLE)
  }
}
else
{
 if(button1.getVisibility == View.VISIBLE)
  {
  button1.setVisibility(View.GONE)
  }
}

可能的复制品看看这个可能的复制品看看这个@andri:didi-u-ckthis@andri当前位置我检查过了吗?为什么消失而不可见?为什么消失而不可见?