آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

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

underomeda  12 سال پیش  10 سال پیش
+1 0

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

    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 سال پیش
+1 0

کاش یکم بیشتر از برنامت توضیح میدادی.من فرض می گیرم دوتا اکتیویتی داری 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.

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

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