80,351
社区成员
发帖
与我相关
我的任务
分享
mEditSearch=(EditText)v.findViewById(R.id.editSearch);
mEditSearch.addTextChangedListener(new TextWatcher(){
public void onTextChanged(CharSequence c, int start, int before, int count){
//在适配器是用内部方法getfilter()筛选数据
if (c != null && (c.toString()).trim().length() != 0&&adapter!=null){
adapter.getFilter().filter(c);
//完成实时刷新listview
adapter.notifyDataSetChanged();
}
}
public void beforeTextChanged(CharSequence c, int start, int before, int count){
// TODO Auto-generated method stub
//这是文本框改变之前会执行的动作
}
public void afterTextChanged(Editable c){
// TODO Auto-generated method stub
/**这是文本框改变之后 会执行的动作
* 因为我们要做的就是,在文本框改变的同时,我们的listview的数据也进行相应的变动,并且如一的显示在界面上。
* 所以这里我们就需要加上数据的修改的动作了。
*/
if(c.length() == 0){
mServers=ServerLab.get(getActivity()).getServers();
adapter=new ServerInfoAdapter(mServers);
mListView.setAdapter(adapter);
ivDeleteText.setVisibility(View.GONE);//当文本框为空时,则叉叉消失
}
else {
ivDeleteText.setVisibility(View.VISIBLE);//当文本框不为空时,出现叉叉
// myhandler.post(eChanged);
}
}
});