2012年4月18日 星期三

使用addTextChangedListener偵測EditTex

今天想做個Edittext輸入自動搜尋,原本使用setOnKeyListener的時候,輸入中文都要再按一次完成才會即時才會擷取,結果發現addTextChangedListener更好用呢,一輸入就即時更新字串,跟WhatsApp的搜尋聯絡人一樣,很即時搜尋唷。





  
package comfff.fff;

import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.KeyEvent;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
public class Test_setOnKeyActivity extends Activity {
/** Called when the activity is first created. */
    private EditText myEditText01;
    private TextView myTextView01;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main); 
   
    myEditText01 = (EditText)findViewById(R.id.EditText01);
    myTextView01 = (TextView)findViewById(R.id.TextView01);

   
    
    myEditText01.addTextChangedListener(new  TextWatcher() {

  @Override
  public void beforeTextChanged(CharSequence s, int start, int count,
    int after) {
   System.out.println("beforeTextChanged");
    
   
   
   // TODO Auto-generated method stub
   
  }

  @Override
  public void onTextChanged(CharSequence s, int start, int before,
    int count) {
   // TODO Auto-generated method stub
   System.out.println("onTextChanged");
   if(myEditText01.getText().length()==0)
   {
    myTextView01.setText("空白");
   }
   else{
   myTextView01.setText(myEditText01.getText());
   }
  }

  @Override
  public void afterTextChanged(Editable s) {
   // TODO Auto-generated method stub
   System.out.println("afterTextChanged");
   
  }
     
    });
    

  }
}

 

沒有留言:

張貼留言

星期、月份英文縮寫

中文 英文 3字母 縮寫 3字母 縮寫 2字母 縮寫 2字母 縮寫 1字母 縮寫 1字母 縮寫 其他 縮寫 星期日 Sunday SUN Sun SU Su S S 星期一 Monday MON Mon MO Mo M M 星期二 Tuesday TUE Tue TU ...