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

Edit text with clear button auto hide?

有谁知道如何制作带有按钮的 EditText 以清除 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) 清除了编辑文本。我的问题是这个按钮每次都显示。我想在键入它时做 foucasable ..否则它是隐藏的。 . 大家有什么想法

只需检查 editText 的长度,当它大于 0 时,然后设置 imageView 可见性 VISIBLE...否则 INVISIBLE 或 GONE

 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);
}

        }
    });