راهنمایی برای درج علاقمندی ها(حل نشده)پروژه ساده اضافه شد
سلام دوستان...پروژه ای دارم که بخش های مختلفش رو خودم نوشتم هرطور بود اما این بخشش گیر کردم و هرکاری کردم نشد
پروژه هایی رو هم دیدم اما باز نتونستم از پسش بربیام ممنون میشم کمک کنید.
این یه پروژه برای دوستانی کل کدها رو میخوان ببینن

توی اکتیویتی اولم لیستی شبیه بالا رو دارم و میخوام کد یا متدی بنویسم که با هر بار کلیک روی ستاره ها اگر خاموش هستن روشن بشن و اگر روشن هستن خاموشن بشن و توی دیتابیس هم توی ستون fav مقدار 0 و یا 1 رو درج کنه
این کد باید توی دکمه star و در adapterapp قرار بگیره اما کد رو چطور بنویسم موضوعی هست که چندروزی هست درگیرم کرده
ممنون میشم راهنمایی کنید
چیزی که نوشتم اینه که البته کدش درست نیست
public void fill(ArrayAdapter<StructApplication> adapter, final StructApplication item, final int position) {
txtName.setText(item.name);
//
img_fav.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (x == false) {
G.database.rawQuery("UPDATE varzesh SET fav=1 WHERE id=" + position, null);
img_fav.setImageResource(R.drawable.star_on);
x = true;
} else {
G.database.rawQuery("UPDATE varzesh SET fav=0 WHERE id=" + position, null);
img_fav.setImageResource(R.drawable.star_off);
x = false;
}
//Intent intent = new Intent(G.currentActivity, activity_detail.class);
//intent.putExtra("name", position);
//G.currentActivity.startActivity(intent);
}
});
Layout_root.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
G.SelectedApplication = item;
Intent intent = new Intent(G.currentActivity, activity_detail.class);
intent.putExtra("page", position);
G.currentActivity.startActivity(intent);
}
});
ممنون از جوابتون درست بود ، اما دو مشکل دیگه هست اینکه اول: ایتم هایی که fav برابر 1 هست با چراغ روشن نمایش داده نمیشن و دوم اینکه من با دستور اپدیت که این دستور هست مقدار fav تغییر نمیکنه!
img_fav.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (item.isFavorite == 0) {
img_fav.setImageResource(R.drawable.star_on);
G.database.rawQuery("UPDATE varzesh SET fav=1 WHERE id=" + position, null);
item.isFavorite = 1;
} else {
img_fav.setImageResource(R.drawable.star_off);
G.database.rawQuery("UPDATE varzesh SET fav=0 WHERE id=" + position, null);
item.isFavorite = 0;
}
بله اونو هم نوشتم ابتدای متد fill اما بازم مواردی که fav=1 هست رو روشن نشون نمیده!
public void fill(ArrayAdapter<StructApplication> adapter, final StructApplication item, final int position) {
txtName.setText(item.name);
//
if (item.isFavorite == 0) {
img_fav.setImageResource(R.drawable.star_off);
} else {
img_fav.setImageResource(R.drawable.star_on);
}
img_fav.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (item.isFavorite == 0) {
img_fav.setImageResource(R.drawable.star_on);
G.database.rawQuery("UPDATE varzesh SET fav=1 WHERE id=" + position, null);
item.isFavorite = 1;
} else {
img_fav.setImageResource(R.drawable.star_off);
G.database.rawQuery("UPDATE varzesh SET fav=0 WHERE id=" + position, null);
item.isFavorite = 0;
}
}
});
این بخش:
adapter = new AdapterApplication(G.application);
list = (ListView) findViewById(R.id.list);
G.application.clear();
list.setAdapter(adapter);
omid_method(0);
public static void omid_method(int start) {
String[] name = G.returnResult("varzesh", "name");
for (int i = start; i < name.length; i++) {
StructApplication note = new StructApplication();
note.name = name[i];
G.application.add(note);
}
adapter.notifyDataSetChanged();
}
سلام ممنون بخاطر وقتی که میذارید
من این کد رو زدم جواب نداد:/
public static void omid_method(int start) {
String[] name = G.returnResult("varzesh", "name");
Cursor cursor;
for (int i = start; i < name.length; i++) {
StructApplication note = new StructApplication();
cursor = G.database.rawQuery("SELECT fav FROM varzesh", null);
while (cursor.moveToNext()) {
int x = cursor.getInt(cursor.getColumnIndex("fav"));
if (x == 1) {
note.isFavorite = 1;
}
}
note.name = name[i];
G.application.add(note);
}
adapter.notifyDataSetChanged();
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .