2012-08-17 83 views
0

我有一個Cursor,它從我的數據庫中獲取一些類別,但我需要手動添加一個不在數據庫中的類別,因此它們都可以在ListViewActivity中呈現。 我得到的類別的方法如下:手動將元素添加到光標

Cursor categories = myDbHelper.getCategoriesCursor(
        categorySelected, Tools.getLanguage()); 
      startManagingCursor(categories); 
      CategoriesCursorAdapter categoriesAdapter = new CategoriesCursorAdapter(
        getApplicationContext(), categories); 
      setListAdapter(categoriesAdapter); 

我想創建一個新的ArrayList<String>與我的欄目,並把它傳遞給Adapter,但仍,我無法抓住這些值,並將其添加到列表中的categories

我該怎麼做?

感謝很多提前

編輯:這,就是以「我的DatabaseHelper」

public Cursor getCategoriesCursor(int parentId, int language) { 
     try { 
     String sql = ""; 
     if (parentId == 0) { 
      sql = "SELECT 0 as '_id', 'Agenda' as 'name_category', 0 as 'sort' UNION ALL SELECT categories._id, name_categories.name_category, categories.sort " 
        + "FROM categories JOIN name_categories ON categories._id = name_categories.category_id " 
        + "WHERE categories.parent_id = " + parentId 
        + " AND name_categories.language_id = " + language + " ORDER BY sort"; 
     } else { 
      sql = "SELECT categories._id, name_categories.name_category " 
        + "FROM categories JOIN name_categories ON categories._id = name_categories.category_id " 
        + "WHERE categories.parent_id = " 
        + parentId 
        + " AND name_categories.language_id = " + language + " ORDER BY sort"; 
     } 
     Log.d("XS2TheWorld", sql); 
     return myDataBase.rawQuery(sql, null); 
     } catch (Exception e) { 
      try { 
       copyDataBase(); 
      } catch (IOException e1) { 
       e1.printStackTrace(); 
      } 
      return getCategoriesCursor(parentId, language); 
     } 
    } 
+0

它可能對我們看到你的'myDbHelper'有用。 – prolink007 2012-08-17 13:20:35

+0

可能MergeAdapter可以爲您的問題提供明確的解決方案 - checkout https://github.com/commonsguy/cwac-merge – sandrstar 2012-08-17 13:38:44

回答

0

更容易分類的方法:我只是修改我的SQL查詢和它的工作