2015-04-07 88 views
1

有谁知道如何使用按钮来清除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)。我的问题是这样的按钮显示每time..I想去做而类型应该是foucasable ..otherwise它隐藏.. 任何想法家伙

回答

1

只是检查EDITTEXT的长度,当它大于0,则设置ImageView的知名度可见......不可见或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); 
} 

     } 
    }); 
+0

几乎正确,但Imagview最初是不会隐藏的,一旦我们输入并清除编辑文本的作品...再次回来相同的问题,它出现 –

+0

你应该做的invisibile imageview在XML .. –

+0

我的意思是设置imageView在XML布局中不可见... –