TextWatcher實現一鍵清空EditText,edittext
布局檔案main.xml:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="5dip" android:layout_marginLeft="5dip" android:layout_marginRight="5dip" android:layout_marginTop="5dip" android:gravity="center_vertical" android:orientation="horizontal" > <EditText android:id="@+id/searchEditText" android:layout_width="fill_parent" android:layout_height="45sp" android:layout_weight="1" android:hint="搜尋" android:imeOptions="actionDone" android:singleLine="true" android:textSize="16sp" /> <Button android:id="@+id/button_clear" android:layout_width="40sp" android:layout_height="40sp" android:layout_marginRight="8dip" android:background="@drawable/icon_clear" android:visibility="invisible" /> </LinearLayout></LinearLayout>
.java檔案如下:
package org.lxh.demo;import android.app.Activity;import android.os.Bundle;import android.text.Editable;import android.text.TextWatcher;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class Hello extends Activity {EditText searchEditText;Button clearButton;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);searchEditText = (EditText) findViewById(R.id.searchEditText);clearButton = (Button) findViewById(R.id.button_clear);searchEditText.addTextChangedListener(mTextWatcher);clearButton.setOnClickListener(new OnClickListener() {public void onClick(View v) {searchEditText.setText("");}});}TextWatcher mTextWatcher = new TextWatcher() {public void onTextChanged(CharSequence s, int start, int before,int count) {// TODO Auto-generated method stub}public void beforeTextChanged(CharSequence s, int start, int count,int after) {// TODO Auto-generated method stub}public void afterTextChanged(Editable s) {if (searchEditText.getText().toString() != null&& !searchEditText.getText().toString().equals("")) {clearButton.setVisibility(View.VISIBLE);} else {clearButton.setVisibility(View.INVISIBLE);}}};}
運行執行個體如下:
介面醜的一米,功能是實現了。