0

お気に入りのプロモーション オブジェクトを配列に入れるためにチェックを行っています。私はこれをやろうとしました(SQLiteデータベースからテーブルプロモーションを制御するPromotionsBDDクラスから):

public ArrayList<Promotion> getListPromotionsFavorites()
    {
        String[] columns = new String[] {"ID", "RATING", "TITLE", "COMPANY_ID","AVAILABLEDATE", "DESCRIPTION", "SETONFAVORITE"};

        Cursor objCursor = bdd.query(TABLE_PROMOTIONS, columns,null,null,null,null,null,null);//requete de récupération de la liste

        int id = objCursor.getColumnIndex("ID");
        int rating = objCursor.getColumnIndex("RATING");
        int title = objCursor.getColumnIndex("TITLE");
        int companyid = objCursor.getColumnIndex("COMPANY_ID");
        int availabledate = objCursor.getColumnIndex("AVAILABLEDATE");
        int description = objCursor.getColumnIndex("DESCRIPTION");
        int setonfavorite = objCursor.getColumnIndex("SETONFAVORITE");

        ArrayList<Promotion> promoFavoriteArray = new ArrayList<Promotion>();
        objCursor.moveToFirst();// position sur la première ligne

        if (objCursor != null) 
        {
            if (objCursor.isFirst())
            {
                int i = 0;
                do 
                {
                    String resultsetonfavorite = objCursor.getString(setonfavorite);
                    if (resultsetonfavorite.equals("true"))
                    {
                        i++;
                        String resultid = objCursor.getString(id);
                        String resultrating = objCursor.getString(rating);
                        String resultitle = objCursor.getString(title);
                        int resultcompanyid = objCursor.getInt(companyid);
                        String resultavailbledate = objCursor.getString(availabledate);
                        String resultdescription = objCursor.getString(description);

                        Promotion promo = new Promotion(resultid, resultrating, resultitle, 
                                resultcompanyid,resultavailbledate,resultdescription, resultsetonfavorite);
                        promoFavoriteArray.add(promo);
                        objCursor.moveToNext();//positionnement sur le suivant
                    }
                    else
                        i++;
                }
                while(objCursor.isLast());
            }
        }

    objCursor.deactivate();
    objCursor.close();
    return promoFavoriteArray;
}

そして、それは私に一番上の行の配列を返すだけです..誰かが方法を知っていますか?

4

2 に答える 2

0

行を変更する

while(objCursor.isLast());

while(!objCursor.isLast());
于 2012-08-12T16:54:07.687 に答える