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

时间:2015-04-07 10:31:12

标签: android android-edittext

有没有人知道如何使用按钮制作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)清除编辑文本..我的问题是这个按钮每次显示..我想做类似的时候它应该是可以涂抹的..另外它是隐藏的.. 任何想法的人

1 个答案:

答案 0 :(得分:1)

检查editText的长度,当它大于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);
}

        }
    });