ورود

View Full Version : بارگذاری مجدد صفحه



فاطمه وطن دوست
دوشنبه 04 اسفند 1393, 00:18 صبح
سلام من بخش علاقه مندی برای برنامه نوشتم.

همه چیز درست کار میکنه.

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

مربوطه رو انتخاب میکنه و واردش میشه ممکنه بخواد صفحه رو از علاقه مندی ها خارج کنه و همین کار رو با لمس کردن ستاره انجام میده. وهیچ مشکلی برای این کار نیست.

تنها مشکلم اینه که دوباره که بک میزنه و صفحه علاقه مندی ها نشون داده میشه صفحه به روز نیست! یعنی آیتمی که از حالت علاقه مندی ها خارج شده هنوز بصورت علاقه مندی

ها توی لیست هست.

ولی وقتی از صفحه علاقه مندی خارج میشم و دوباره واردش میشم همه چیز درسته.یعنی آیتم مربوطه از حالت علاقه مندی ها خارج شده.

میخوام از شما راهنمایی بگیرم بهترین و ساده ترین راه حل چیه که مجداد دستورات on create اجرا بشه چیه ؟

یا اگر این راهش نیست! باید یه تابع سراسری بنویسم و توی هر بار کلیک کاربر روی ستاره ها ( زرد و طوسی ) کلیک میکنه اون تابع فراخوانی بشه .

اصلا نمیتونم بگم صفحم رفرش بشه ؟

Mehrnaz_k
دوشنبه 04 اسفند 1393, 12:29 عصر
ساده ترین و معمولی ترین راه برای اجرای مجدد onCreat() اینه که قبل از ورود به اکتیویتی جدید اکتویتی نمایش لیست علاقه مندی ها finish() کنید و برای برگشت به اکتیویتی مورد نظر با back،در متد onBackPressed() اینتنت بدید.

فاطمه وطن دوست
سه شنبه 05 اسفند 1393, 00:23 صبح
سلام

من اینو کد و نوشتم.


stract=strArr.get(position);
if(stract=="مگنت")
{

finish();
Intent intent = new Intent(list.this, gallmagnet.class);
startActivity(intent);
}

روی اکتیویتی : gallmagnet یه دکمه خروج قرار داره. که با لمس این دکمه دستور Finish اجرا میشه.

مشکلش اینه که : وقتی خروج و میزنم مجددا اکتیویتی gallmagnet باز میشه و وقتی مجددا خروج میزنم دستور درست اجرا میشه و برمیگردم . بنابراین با دو بار لمس دکمه خروج از صفحه میرم بیرون. چرا؟

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

1- اکتیویتی مربوطه باز میشه.
2- خروج فارسی هم درست کار میکنه. ===> البته تا قبل اینکه دستور Finish رو نوشتم. درست کار میکرد ولی مشکلش این بود که علاقه مندی ها همچنان باز و آپدیت نبود!
3- ولی برمیگردم به لیست علاقه مندی هائی که به روز نیست.

چرا دو بار باید دکمه خروج فارسی کاربر بزنه تا برگرده ؟

فاطمه وطن دوست
سه شنبه 05 اسفند 1393, 12:01 عصر
مشکلم حل شد. کافیه کد مربوطه در قسمت on resume تکرار بشه. صفحه ی علاقه مندی ها که شامل لیست ویو هست مجددا بارگذاری میشه.
درواقع همون کدهای on create اجرا میشن.

چرخه اکتیویتی : منبع اسفندونه (http://www.esfandune.ir/%D8%A2%D8%B4%D9%86%D8%A7%DB%8C%DB%8C-%D8%A8%D8%A7-%DA%86%D8%B1%D8%AE%D9%87-%D8%AD%DB%8C%D8%A7%D8%AA-%D8%A7%DA%A9%D8%AA%DB%8C%D9%88%DB%8C%D8%AA%DB%8C-%D8%AF%D8%B1-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C/)

۳ـ onResume که کاربر بعد از برگشت به اکتیویتی اجرا میشه



@Override
public void onResume() {
super.onResume();
دستورات مربوطه
......