我正在做一个基于this project的字典应用程序。这是我的AutoCompleteTextView:
searchAutoCompleteTextView.setThreshold(1);
searchAutoCompleteTextView.setAdapter(new WordAutoComplite(ZhuangDictActivity.this, null));
searchAutoCompleteTextView.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
if (s.length() > 0) {
char key = GB2Alpha.Char2Alpha(s.charAt(0));
if (currentChar != key) {
currentChar = key;
tableName = DatabaseHelper.transTableName(key);
}
}
}
});
我的CursorAdapter:
@Override
public Cursor runQueryOnBackgroundThread(CharSequence word) {
return databaseHelper.queryAutoComplete(tableName, word.toString(), DEFAULT_AUTOCOMPLETE_LIMIT);
}
/* (non-Javadoc)
* @see android.widget.CursorAdapter#convertToString(android.database.Cursor)
*/
@Override
public CharSequence convertToString(Cursor cursor) {
return cursor.getString(0);
}
DatabaseHelper.java is available here,这是我活动的complete code。
我注意到了一个错误。让我说我搜索" apple"我退出了应用程序。然后我重新进入应用程序并搜索" apple"再次,这次结果无法找到。为了解决这个问题,我必须在" a"之外随机键入另一个字母。如果退出应用程序并返回应用程序后,我会搜索"预订"在搜索" apple"之前,我将能够得到结果。似乎应用程序丢失了与数据库的连接。我该如何解决这个问题?