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

بدون عنوان

underomeda  11 سال پیش  11 سال پیش
0 0

من لیست ویو رو شخصی کاستوم کردم و واسش یه ادپتر درست کردم چطوری میشه وقتی روی دکمه علاقه ها کلیک کردم عکسش تغییر کنه و در هنگام اجرای بعدی همون بگراند تغییر یافته رو داشته باشه .در مثال لیست ویو استاد.

 

   chkfav.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View view) {
                    CheckBox checkBox = (CheckBox) view;
                    item.done = checkBox.isChecked();

                    final int like_id = item.id;
                    cursor = G.database.rawQuery("SELECT * FROM showdata where id=" + like_id + "", null);
                    while (cursor.moveToNext()) {

                        like = cursor.getInt(cursor.getColumnIndex("like"));
                        if (like == 1) {
                            chkfav.setChecked(true);

                        } else {
                            chkfav.setChecked(false);
                        }

                        if (item.done && like == 0 && chkfav.isChecked() == true) {

                            G.database.execSQL("update showdata set like = '1' where id = "
                                    + like_id);

                            Toast.makeText(G.context, " به علاقه مندی ها اضافه شد.",
                                    Toast.LENGTH_SHORT).show();

                        } else {
                            G.database.execSQL("update showdata set like = '0' where id = " + like_id);

                            Toast.makeText(G.context, " از علاقه مندی ها حذف شد.",
                                    Toast.LENGTH_SHORT).show();

                        }

                    }
                    cursor.close();
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
hosseinAmini  11 سال پیش
+1 0

چون دیگران هم جواب رو ببینند اینجا هم میزارم

 به این صورته که دوتا آیکن داریم یکی ستاره خاموش یکی هم ستاره روشن. حالا تو adapter بررسی می کردم که اگر آیتم توی جدول علاقه ها بود ستاره روشن رو نشون بده و اگر هم نبود ستاره خاموش رو. برای بررسی کردن از دستور rawquery استفاده می کنیم و با ستور cursor.getCount می فهمیم که آیتم توی جدول علاقه ها هست یا نه، روش کار هم به اینصورت هست که اگر cursor.getCount برابر صفر باشه یعنی آیتم توی جدول وجود نداره واگر ۱ باشه یعنی آیتم وجود داره. پس به همین راحتی می گیم اگر مقدار صفر بود ستاره خاموش رو نشون بده و اکر هم یک بود ستاره روشن رو. وقتی هم روی علاقه کلیک می شد به همین روش چک می کنیم که اگر مقدار برگشتی یک بود یعنی آیتم توی علاقه ها هست پس باید پاکش کنیم و اگر هم صفر بود یعنی آیتم توی علاقه ها نیست پس باید به علاقه ها اضافه کنیم. امیدوارم توضیحات مفید باشه :)

0 0
میشه بیشتر توضیح بدی؟ (11 سال پیش)
0 0
کجاش رو متوجه نمی شید؟ توی adapter جدول علاقه ها رو بررسی می کنیم اگر آیتم توی جدول علاقه ها بود ستاره روشن رو نمایش میدیم اگر هم نبود ستاره خاموش. نحوه بررسی وجود یا عدم وجود یک آیتم تو جدول رو هم بالا توضیح دادم (11 سال پیش)
0 0
مشکل من با تغییر ایکونشون نیست مشکل اینه وقتی برنامه دوباره اجرا میشه ایکونهای منتخب شده خاموش نشون داده میشه (11 سال پیش)
0 0
مشکلتون به این دلیله که توی adapter چک نمی کنید که آیتم توی علاقه ها هست یا نه. (11 سال پیش)
0 0
کجای ادپتر چک کنم؟اگه مقدور سورس بزارید . (11 سال پیش)

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