0

DBからいくつかのカテゴリを取得するCursorがありますが、DBにないカテゴリを手動で追加する必要があるため、すべてをでレンダリングできますListViewActivity。カテゴリを取得する方法は次のとおりです。

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

ArrayList<String>必要なフィールドを使用して新しいものを作成して渡すことを考えましたAdapterが、それでも、それらの値を取得してcategoriesリストに追加することはできません。

どうすればこれを行うことができますか?

よろしくお願いします

編集:これは「myDatabaseHelper」のカテゴリを取得するためのメソッドです

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);
        }
    }
4

1 に答える 1

0

簡単: SQL クエリを変更しただけで機能しました

于 2012-08-22T08:34:29.543 に答える