Я использую учебное пособие здесь , чтобы предоставить AutoCompleteTextView с SimpleCursorAdapter. Он отлично работает , как и , но я изменил базу данных, чтобы использовать fts3, потому что слышал, что она быстрее (отсюда и название).
Кажется, что-то в коде запрограммировано для использования столбца _id
, потому что после перехода к таблице fts3 я получаю эту ошибку:
01-28 21:31:53.018: E/AndroidRuntime(16284): java.lang.IllegalArgumentException: column '_id' does not exist
01-28 21:31:53.018: E/AndroidRuntime(16284): at android.database.AbstractCursor.getColumnIndexOrThrow(AbstractCursor.java:314)
Несмотря на то, что я нигде не объявил ключ автоинкремента (поскольку он заменен rowid
в fts3). Ошибка возникает в AbstractCursor
, поэтому я мало что могу с этим поделать.
Я думаю, что может быть способ заставить код распознавать rowid
как _id
, используя SELECT rowid,* FROM mytable
, а затем как-то изменить имя столбца. Я довольно новичок в SQL, поэтому любая помощь оценили!