通訊錄搜索功能,每輸入一個字符,就會監聽有所變化,這用到了TextWatcher監聽EditText
this.search_content = (EditText) findViewById(R.id.search_content);
search_content.addTextChangedListener(new TextFilter());
TextFilter如下:
class TextFilter implements TextWatcher {
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
searchContent = search_content.getText().toString();
// 從數據庫中獲得查詢的聯繫人
contactDao = new ContactDao(getApplicationContext());
String Sql = "select * from contact_usr where username like '%"
+ searchContent + "%'";
String message = contactDao.execQuery(Sql);
search_userdata = getUserData(message);
// 爲聯繫人創建listitem適配器
SimpleAdapter adapter = new MyAdapter(SearchUserActivity.this,
search_userdata, R.layout.userlist_item_layout,
new String[] { "user_photo", "user_name", "user_tel",
"user_store" }, new int[] { R.id.user_phote,
R.id.user_name, R.id.user_tel, R.id.store_user });
// 將listitem綁定到適配器上
search_user_list.setAdapter(adapter);
}
}