2013-07-15 4 views
-3

Я использую поиск, чтобы показать содержимое списка. Если вы нажмете на функцию поиска или введите любые данные, это покажет, что мое приложение остановилось.При нажатии на поиск мое приложение остановилось

Mainactivity.java

@SuppressLint("NewApi") 
    @SuppressWarnings("deprecation") 
     private void fillData(Cursor projectsCursor) { 
      //mDbHelper.open(); 

      if(projectsCursor!=null) 
      { 
      String[] from = new String[]{GinfyDbAdapter.CATEGORY_COLUMN_TITLE, GinfyDbAdapter.CATEGORY_COLUMN_CONTENT, GinfyDbAdapter.CATEGORY_COLUMN_COUNT}; 
      int[] to = new int[]{R.id.text2, R.id.text1, R.id.count}; 
      dataAdapter = new SimpleCursorAdapter(
      this, R.layout.activity_row, 
      projectsCursor, 
      from, 
      to, 
      0); 
      setListAdapter(dataAdapter); 

      EditText myFilter = (EditText) findViewById(R.id.myFilter); 
       myFilter.addTextChangedListener(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) { 
        dataAdapter.getFilter().filter(s.toString()); 
       } 
       }); 

       dataAdapter.setFilterQueryProvider(new FilterQueryProvider() { 
        public Cursor runQuery(CharSequence constraint) { 
         return mDbHelper.fetchProjectByName(constraint.toString()); 
        } 
       }); 

Это мой db.java

public Cursor fetchProjectByName(String inputText) throws SQLException { 
      Log.w(TAG, inputText); 
      Cursor mCursor = null; 
      if (inputText == null || inputText.length() == 0) { 
      mCursor = mDb.query(DATABASE_TABLE_PROJ, new String[] {CATEGORY_COLUMN_ID, 
       CATEGORY_COLUMN_CONTENT}, 
      null, null, null, null, null); 

      } 
      else { 
      mCursor = mDb.query(true, DATABASE_TABLE_PROJ, new String[] {CATEGORY_COLUMN_ID, 
       CATEGORY_COLUMN_CONTENT}, 
       CATEGORY_COLUMN_CONTENT + " like '%" + inputText + "%'", null, 
      null, null, null, null); 
      } 
      if (mCursor != null) { 
      mCursor.moveToFirst(); 
      } 
      return mCursor; 

     } 

Использование БД в fetchproject по имени я хочу найти содержимое ListView, которое будет соответствовать по моему поиску option.It показывает некоторые logcaterror. Набрав или нажав на область поиска, она показывает, что мое приложение остановлено.

это моя ошибка logcat.

07-15 12:23:08.688: E/AndroidRuntime(25812): FATAL EXCEPTION: main 
07-15 12:23:08.688: E/AndroidRuntime(25812): java.lang.IllegalArgumentException: column 'title' does not exist 
07-15 12:23:08.688: E/AndroidRuntime(25812): at android.database.AbstractCursor.getColumnIndexOrThrow(AbstractCursor.java:303) 
07-15 12:23:08.688: E/AndroidRuntime(25812): at android.widget.SimpleCursorAdapter.findColumns(SimpleCursorAdapter.java:333) 
07-15 12:23:08.688: E/AndroidRuntime(25812): at android.widget.SimpleCursorAdapter.swapCursor(SimpleCursorAdapter.java:345) 
07-15 12:23:08.688: E/AndroidRuntime(25812): at android.widget.CursorAdapter.changeCursor(CursorAdapter.java:309) 
07-15 12:23:08.688: E/AndroidRuntime(25812): at android.widget.CursorFilter.publishResults(CursorFilter.java:67) 
07-15 12:23:08.688: E/AndroidRuntime(25812): at android.widget.Filter$ResultsHandler.handleMessage(Filter.java:282) 
07-15 12:23:08.688: E/AndroidRuntime(25812): at android.os.Handler.dispatchMessage(Handler.java:99) 
07-15 12:23:08.688: E/AndroidRuntime(25812): at android.os.Looper.loop(Looper.java:137) 
07-15 12:23:08.688: E/AndroidRuntime(25812): at android.app.ActivityThread.main(ActivityThread.java:5039) 
07-15 12:23:08.688: E/AndroidRuntime(25812): at java.lang.reflect.Method.invokeNative(Native Method) 
07-15 12:23:08.688: E/AndroidRuntime(25812): at java.lang.reflect.Method.invoke(Method.java:511) 
07-15 12:23:08.688: E/AndroidRuntime(25812): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
07-15 12:23:08.688: E/AndroidRuntime(25812): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
07-15 12:23:08.688: E/AndroidRuntime(25812): at dalvik.system.NativeStart.main(Native Method) 
+6

В запросе добавить CATEGORY_COLUMN_TITLE в проекции – Tarun

+0

где чувак, где я должен добавить –

+0

@Tarun http://pastebin.com/jb1BA94g здесь я вставить свой полный код, где я должен добавить чувак –

ответ

1

В столбце "Добавить" укажите заголовок столбца.

mCursor = mDb.query(DATABASE_TABLE_PROJ, 
new String[]{CATEGORY_COLUMN_ID,CATEGORY_COLUMN_TITLE, 
CATEGORY_COLUMN_CONTENT}, 
null, null, null, null, null); 
Смежные вопросы