【发布时间】:2009-10-30 06:05:21
【问题描述】:
我的 ListView 有 3000 多行。当我在 EditText 上键入以过滤 ListView 中的数据时,它运行缓慢。看看我这里的代码
final TextWatcher textChecker = new TextWatcher() {
public void afterTextChanged(Editable s) {}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
filterData(search.getText().toString());
}
};
private void filterData(String textinput){
mCursor = mHelperData.searchData(textinput);
startManagingCursor(mCursor);
String[] from = new String[]{ MyData.KEY_ROWID,
MyData.KEY_TITLE, MyData.KEY_DESCRIPTION };
int[] to = new int[]{ R.id.id, R.id.title, R.id.description, R.id.icon };
setListAdapter(new MyAdapter(this, R.layout.list_row, mCursor, from, to ));
}
我认为在这里用光标检索数据不是一个好方法。那么,在这种情况下,有没有更好的方法来改善语音?
【问题讨论】: