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