`
gaofen100
  • 浏览: 1187380 次
文章分类
社区版块
存档分类
最新评论

EditText动态的刷新Listview显示查询结果

 
阅读更多

EditText动态的刷新Listview显示查询结果

由于最近的一个程序需要用到类似这样的效果:在EditText里面输入内容,listview就能动态的显示出查询结果。自己琢磨了一下,实现了,现在就将小小的经验

和大家一起分享:

其实最主要还是Edittext的addTextChangedListener()这样一个方法,每次Edittext内容的改变都会调用此方法!以上是本人的部分代码:

TextWatcher watcher = new TextWatcher() {

@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
String str = s.toString();
Log.d("ontextchanged", str);
refresh(str);

}

@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
Log.d("textchanged", "beforeTextChanged");

}

@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
Log.d("afterchanged", "afterTextChanged");
}
};

之后用

editText = (EditText) findViewById(R.id.orderlistedittext);
editText.addTextChangedListener(watcher);用Listener来关联这个water;

里面的refresh()方法,这是我自己的项目字节考过来的,大家需要修改!

public void refresh(String str) {
orderData = insertData.queryData(str);//从新得到Adapter里面的显示数据,这个数据我是从数据库读取的,查询的关键字就是Edittext里面的内容str;
orderListListAdapter = new OrderListListAdapter(this, orderData);//再次new一下adapter
orderlistlistView.setAdapter(orderListListAdapter);//这样就可以刷新listview的内容了
orderListListAdapter.notifyDataSetChanged();

时间有点紧!思路有些乱!大家稍微看看,应该会理解大致的意思的!呵呵!

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics