بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

مشکل با ساخت لیست علاقه مندی ها مشکل سورس من کجاست؟؟؟(لطفا نگاه کنید)

مدیریت گفتگو
underomeda 12 سال پیش
آخرین تغییر: 10 سال پیش

سورس  دکمه  برای منتخب کردن ایتم ها:

    favorit.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {

                Cursor cursor = G.database.rawQuery("SELECT * FROM data ", null);
                while (cursor.moveToNext()) {
                    int id = cursor.getInt(cursor.getColumnIndex("id"));
                    String title = cursor.getString(cursor.getColumnIndex("title"));
                    String desc = cursor.getString(cursor.getColumnIndex("desc"));
                }
                cursor.close();

                G.database.execSQL("UPDATE data SET like='yes' WHERE like='no'");
            }
        });

سورس مربوبط به نمایش لیست علاقه مندی ها:

 public class ActivityListFav extends ActivityCycle {

    private ListView                    listfavorit;
    public AdapterData                  adapterfavorit;
    StructData                          favorit  = new StructData();
    public static ArrayList<StructData> favorits = new ArrayList<StructData>();


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list_fav);
        listfavorit = (ListView) findViewById(R.id.lst);
        adapterfavorit = new AdapterData(favorits);

        favorits.clear();
        Cursor cursor = G.database.rawQuery("SELECT * FROM data where like='yes'", null);
        while (cursor.moveToNext()) {
            StructData sdata = new StructData();
            favorit.Get_id = cursor.getInt(cursor.getColumnIndex("id"));
            favorit.Get_title = cursor.getString(cursor.getColumnIndex("title"));
            favorit.Get_desc = cursor.getString(cursor.getColumnIndex("desc"));

            favorits.add(favorit);
        }
        cursor.close();

        adapterfavorit.notifyDataSetChanged();
        listfavorit.setAdapter(adapterfavorit);
    }
}

مشکل کجاست؟بعد دوستان چطوری میتونم ایتم رو از لیست علاقه مندی ها حذف کنم؟تورو خدا راهنمایی کنید.

نظرات

پاسخ‌ها 1

hosseinAmini 12 سال پیش

کاش یکم بیشتر از برنامت توضیح میدادی.من فرض می گیرم دوتا اکتیویتی داری ActivityMain (که تمام آیتمهارو نمایش میده) و ActivityFavorite که فقط علاقه هارو نشون میده.
ببین یه مشکلت اینه که وقتی  از SELECT استفاده کردی مشخص نکردی که کدوم رکورد رو انتخاب کنه. شما به ازای هر آیتم تو لیست یه رکورد دارید دیگه؟  مثلا یه فیلد name داریم که نام هر آیتم توش ذخیره شده. حالا وقتی روی تصویر(یا دکمه) علاقه یه آیتم لمس میشه باید مثل زیر تو adapter نوشت:(تو دیتابیس یه فیلد به نام favorite داریم که مقداره پیش فرضش 0 هست)

   favorit.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {

                Cursor cursor = G.database.rawQuery("SELECT * FROM data WHERE name='" + item.name + "'", null);
                while (cursor.moveToNext()) {
                    int favorite = cursor.getInt(cursor.getColumnIndex("favorite"));
                }
                if(favorite  == 0){
                    G.database.execSQL("UPDATE images SET image_fav=1 WHERE image_name LIKE'" + item.name + "'");
                }else{
                    G.database.execSQL("UPDATE images SET image_fav=0 WHERE image_name LIKE '" + item.name + "'");
                }

                cursor.close();

            }
        });

تا اینجارو اگه درست انجام بدی با هر بار لمس favorit مقداره favorite دیتابیس اگر 0 باشه 1 میشه و اگر 1 صفر.
اگر درست شد بگو تا بریم سراغ نمایششون تو ActovotyFavorite.

نظرات

underomeda 12 سال پیش
حسین داداش دمت گرم درست بشو نیست کاش میشد خودت یه نگاه منداختی .
hosseinAmini 12 سال پیش
قربونت، به نظرم اگر آموزش هارو ندیدی یا کم دقت کردی یه بار دیگه ببین. اگر هم میخوای پروژت را برام ارسال کن اگر تونستم کمکت کنم. info@hossein-amini.ir
MeY3am 10 سال پیش
item.name رو اینجا چی باید گذاشت؟ باید داخل Struct تعریفش کرد یا نه ؟

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .