我在edittext
内实施了一个十字按钮。 edittext
实际上是一个搜索栏。此十字按钮将清除用户输入的所有文本。
我希望当搜索栏为空时,十字按钮会消失,而当搜索栏没有时,我希望它是可见的。 当我输入某些内容时,它会变得可见但是当我清除所有内容时,它仍然可见。 可能是什么问题?
这是我的代码: 的 XML
<EditText
android:layout_width="wrap_content"
android:id="@+id/searchbar"
android:layout_height="40dp"
android:textColor="#bfc2d1"
android:singleLine="true"
android:drawableLeft="@drawable/search"
android:drawableRight="@drawable/deletebackground_nooverlay"
android:padding="5dp"
android:background="@drawable/search_bar"
android:layout_marginLeft="3dp"
android:layout_marginRight="3dp"
android:imeOptions="flagNoExtractUi"
android:hint="Search the elements"
android:layout_alignBottom="@+id/backdrawbtn"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/backdrawbtn"
android:layout_alignParentTop="true"
android:layout_marginTop="5dp"/>
<ImageView
android:id="@+id/clear_button"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginTop="7dp"
android:layout_marginRight="5dp"
android:visibility="invisible"
android:background="@drawable/ic_cancel"
android:layout_alignTop="@+id/searchbar"
android:layout_alignRight="@+id/searchbar" />
爪哇
searchBar.addTextChangedListener(new TextWatcher() {
//I am using textwatcher as this editttext (searchBar) has a search function as will
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
String searchedquery = cs.toString().replaceAll(" ","");
CurlActivity.this.adapter.getFilter().filter(searchedquery);
if(!searchBar.getText().equals(""))
{
clearbutton.setVisibility(View.VISIBLE);
}
if(searchBar.getText().equals(""))
{
clearbutton.setVisibility(View.INVISIBLE);
}
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,int arg3) {
}
@Override
public void afterTextChanged(Editable s) {
}
});