AutoCompleteTextView连接到数据库

时间:2014-06-07 13:06:15

标签: android

我正在做一个基于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"之前,我将能够得到结果。似乎应用程序丢失了与数据库的连接。我该如何解决这个问题?

0 个答案:

没有答案