Android 使用“清除”按钮自动隐藏编辑文本?

Android 使用“清除”按钮自动隐藏编辑文本?,android,android-edittext,Android,Android Edittext,有人知道如何用按钮来清除EditText中的文本吗? 我需要这样做,以便当您开始键入文本时,按钮出现在EditText样式“X”的末尾,当您清理时,“X”按钮消失 这是我的布局 <!-- Editext for Search --> <EditText android:id="@+id/inputSearch"

有人知道如何用按钮来清除EditText中的文本吗? 我需要这样做,以便当您开始键入文本时,按钮出现在EditText样式“X”的末尾,当您清理时,“X”按钮消失

这是我的布局

    <!-- Editext for Search --> 
                    <EditText               
                         android:id="@+id/inputSearch"                               
                         android:layout_width="fill_parent"
                         android:layout_height="wrap_content"
                         android:hint="Search"
                         android:background="@drawable/headlinebtn"
                         android:layout_alignParentLeft="true"
                         android:textAppearance="@android:style/TextAppearance.Medium" 
                         android:drawableLeft="@drawable/ic_action_search"
                         android:layout_centerVertical="true" /> 



                     <ImageView
                          android:id="@+id/clearbtn"      
                          android:layout_width="wrap_content"
                          android:layout_height="wrap_content"
                          android:layout_marginRight="10dp"      
                          android:src="@drawable/X"
                          android:layout_alignParentRight="true"  
                          android:layout_centerVertical="true" />

我已经通过单击可绘制按钮(x)清除编辑文本…我的问题是每次都会显示此按钮..我想在键入时执行类似操作,但它应该是可绘制的..否则它将被隐藏。。
任何人只要检查编辑文本的长度,当它大于0时,然后将imageView可见性设置为可见…否则不可见或消失

 editText.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence arg0, int arg1, int arg2,
                int arg3) {
        }

        @Override
        public void beforeTextChanged(CharSequence arg0, int arg1,
                int arg2, int arg3) {
        }

        @Override
        public void afterTextChanged(Editable name) {
            if(editText.getText().toString().lenghth()>0){
    imageView.setVisibility(View.VISIBLE);
 }else{
 imageView.setVisibility(View.INVISIBLE);
}

        }
    });

几乎正确,但一旦我们输入并清除编辑文本,Imagview最初不会隐藏。它工作正常。再次出现相同的问题。谢谢你,伙计。只需再澄清一点。在编辑文本中输入文本时,它覆盖了输入空间。我的意思是,它在按钮后也占用了空间。谢谢,对不起!!我不明白你的意思。我只是想要单行编辑文本…我给它singleline=true…但是如果我们键入长文本,它会在按钮后占用空间…我只需要在imageview按钮前留出空间如果你说的是按钮,那么你必须更改xml编码。。。。一个简单的技巧是在edittext中赋予paddingRight。。。。