ورود

View Full Version : افزودن به علاقه مندی



netmaster.m
چهارشنبه 06 خرداد 1394, 20:29 عصر
من یه مشکل خیلی بزرگ دارم
دیتابیس من از سرور با json خونده میشه ودر برنامه بارگذاری میشه، هر سطر از لیست ویو فقط شما 3 تا تکست ویو هست که از دیتابیس خونده و ست میشه، سطر های لیستم onclick نداره

حالا میخام هر سطر را بتونم add to fav کنم اما نمیدونم از چه راهی انجام بدم؟

لطفا کمک کنید

(اگه کسی مشکلمو کامل حل کنه حق الزحمشو میدم (دریافت سورس در پیغام خصوصی) )
با تشکر

JYasProgramer
پنج شنبه 07 خرداد 1394, 07:22 صبح
...حالا میخام هر سطر را بتونم add to fav کنم اما نمیدونم از چه راهی انجام بدم؟...


این قسمت یعنی چی؟

netmaster.m
پنج شنبه 07 خرداد 1394, 08:32 صبح
این قسمت یعنی چی؟

میخواهم با کلیک بر روی هر آیتم از لیست ، آن آیتم به علاقه مندی ها اضافه شود

JYasProgramer
پنج شنبه 07 خرداد 1394, 09:39 صبح
اول از همه باس هر سطر لیستو حساس به کلیک کنی
سپس مقدار اون item list روباید بگیری و به List از نوع String اضافه کنی که این لیست همون علاقه مندیته
با این روش میتونی داده هر لیست رو بگیری

String selectedFromList = (lv.getItemAtPosition(position));
و افزودن به لیست علاقه مندی

List<String> list = new ArrayList<String>();
list.add(selectedFromList)

netmaster.m
پنج شنبه 07 خرداد 1394, 11:13 صبح
اول از همه باس هر سطر لیستو حساس به کلیک کنی
سپس مقدار اون item list روباید بگیری و به List از نوع String اضافه کنی که این لیست همون علاقه مندیته
با این روش میتونی داده هر لیست رو بگیری

String selectedFromList = (lv.getItemAtPosition(position));
و افزودن به لیست علاقه مندی

List<String> list = new ArrayList<String>();
list.add(selectedFromList)


ممنون از راهنماییتون ولی باید SharedPreferencesاستفاده بشه که کاربر اگه از برنامه خارج شد و دوباره برگشت اطلاعات قبلیذخیره شده باشه
مشکل منم کار با SharedPreferences هست
اگه یه نفر کامل توضیح بده ممنون میشم

hesam67_b
پنج شنبه 07 خرداد 1394, 11:47 صبح
شما میتونین از توابع زیر برای ذخیره و بازیابی آرایه ای از مقادیر در پرفرنس استفاده کنید.
با یکم تغییر میتونی راحت به اون چیزی که میخوای برسی.

SAVE ARRAY
public boolean saveArray(String[] array, String arrayName, Context mContext) {
SharedPreferences prefs = mContext.getSharedPreferences("preferencename", 0);
SharedPreferences.Editor editor = prefs.edit();
editor.putInt(arrayName +"_size", array.length);
for(int i=0;i<array.length;i++)
editor.putString(arrayName + "_" + i, array[i]);
return editor.commit();
}

LOAD ARRAY

public String[] loadArray(String arrayName, Context mContext) {
SharedPreferences prefs = mContext.getSharedPreferences("preferencename", 0);
int size = prefs.getInt(arrayName + "_size", 0);
String array[] = new String[size];
for(int i=0;i<size;i++)
array[i] = prefs.getString(arrayName + "_" + i, null);
return array;
}

JYasProgramer
پنج شنبه 07 خرداد 1394, 13:29 عصر
برای این نوع استفاده بهتره هر بار که کاربر نیاز به داده داره از همون فایل دیتابیس استفاده بشه
شیرپروفرمنس هم همانند فایل دیتابیس هستش فقط ساختارش متفاوته
استفاده از شیر بنظرم دوباره کاریه

netmaster.m
جمعه 08 خرداد 1394, 22:49 عصر
از همه ممنون
اما من تا حالا هر چی راه رفتم به بن بست خوردم، یعنی کسی نیست کدشو برام بنویسه از خجالتش در بیام؟

tux-world
جمعه 08 خرداد 1394, 23:12 عصر
استفاده از
SharedPreferences برای این کار کاملا اشتباه هستش و شما باید آی دی اون row که کلیک شده رو بگیرید تو دیتابیس ذخیره کنید و بار دیگه که دارید لیست رو نشون میدین بررسی کنید ببینید اون row تو دیتابیس جزو علاقمندی ها هستش یا نه
به نظرم بهتره از مثالهای ساده تر آموزش ببینید تا اینجا که رسیدید خودتون راحتتر میفهمید :لبخندساده: