تغییر وضعیت یک رکورد بولین در دیتا بیس(خواهشا کمک کنید)
من داخل دیتا بیس یه جدول دارم و یه رکورد به اسم فلک برای هر رکورد که مقدار اولیه فلک false هست میخوام روی دکمه وقتی کلیک شد اول چک کنه آیا وضعیت رکورد flase یا true اگه ترو بود false کنه و با پیغام بگه flase شد و بلعکس .سپس مقادیر true شضده رو در یک لیست نمایش بده خواهش کمک کنید.
وقتی روی دکمه کلیک میشه با SELECT مقداره رکورده مورد نظرت رو بریز تو متغیر بعد یه شرط if بزار که اگه متغیر true بود با استفاده از UPADATE برابر با false کن اگرم false بود true کن.
برای نمایش مقادیره true تو لیست هم، تو اکتیویتی مورد نظر با SELECT اونایی که true هستند رو انتخاب کن و مقادیرش رو توی آرایه بریز و تو adapter از اطلاعات استفاده کن.
اگر آموزش database رو ندیدی یه بار کامل ببینی همه اینکارا رو می تونی انجام بدی
خواهش می کنم.
این دقیقا برای لیست علاق هاست(جواب اون یکی تاپیکت هم هست)
کلاس adapter:
imgFavorite.setOnClickListener(new OnClickListener() {
@Override
public boolean onLongClick(View arg0) {
String imageName = item.ImageName.replace("images/", "");
Cursor cursor = G.database.rawQuery("SELECT * FROM images WHERE image_name LIKE '" + imageName + "'", null);
while (cursor.moveToNext()) {
int imageFav = cursor.getInt(cursor.getColumnIndex("image_fav"));
if (imageFav == 0) {
G.database.execSQL("UPDATE images SET image_fav=1 WHERE image_name LIKE'" + imageName + "'");
imgFavorite.setImageResource(R.drawable.fav_sta_on);
Toast.makeText(G.context, "تصویر مورد نظر به علاقه ها اضافه شد", Toast.LENGTH_SHORT).show();
} else {
G.database.execSQL("UPDATE images SET image_fav=0 WHERE image_name LIKE '" + imageName + "'");
imgFavorite.setImageResource(R.drawable.fav_star_off);
Toast.makeText(G.context, "تصویر مورد نظر از علاقه ها حذف شد", Toast.LENGTH_SHORT).show();
}
}
return true;
}
});
String imageName = item.ImageName.replace("images/", "");
Cursor cursor = G.database.rawQuery("SELECT * FROM images WHERE image_name LIKE '" + imageName + "'", null);
while (cursor.moveToNext()) {
int imageFav = cursor.getInt(cursor.getColumnIndex("image_fav"));
if (imageFav == 0) {
imgFavorite.setImageResource(R.drawable.fav_star_off);
} else {
imgFavorite.setImageResource(R.drawable.fav_sta_on);
}
}
اینم برای اکتیویتی ای که می خوایدعلاقه ها رو توش نشون بدید
Cursor cursor = G.database.rawQuery("SELECT * FROM images WHERE image_fav=1", null);
while (cursor.moveToNext()) {
image2Favorites = new StructImages();
String image_name = cursor.getString(cursor.getColumnIndex("image_name"));
image2Favorites.ImageName = "images/" + image_name;
G.images2.add(image2Favorites);
}
adapterFavorites.notifyDataSetChanged();
cursor.close();
یه سلکت می زنی که بر اساس id در دیتابیس میزان فلگ رو بگیره و بریزه توی یه مقدار بولین
بعد فلگ رو آپدیت می کنی
Boolean blnFlag = getFlagContent();
blgFlag = !blnFlag;
("UPDATE tblSample SET Flag=" + blgFlag + " WHERE image_name where id=" + _id)
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .