PDA

View Full Version : برگرداندن اطلاعات activity بعداز stop شدنش



morika
شنبه 26 دی 1394, 11:57 صبح
سلام
من تو برنامم یدونه activity اصلی دارم که تمام اطلاعاتش توسط activity های دیگه پر میشه. مثلا برای پر کردن فیلد تاریخ وارد یه activity دیگه میشه بعد تاریخ رو توسط intent به activity اصلی بر میگردونه و توی فیلد تاریخ ثبت میشه. به همین صورت فیلدهای category و account هم پر میشن. حالا مشکل من اینه که وقتی تاریخ رو پر کردیم میریم تو activity دیگه که بخویم فیلدهای دیگه رو پر کنیم و بر می گردیم فیلد تاریخ خالی میشه چون activity اصلی از نو ساخته شده. اول با استفاده از یه کلاس static اطلاعات activity اصلی رو نگه داشتم که بعداز اینکه از نو ساخته میشه از اونجا بخونه ولی فهمیدم که اینکار خیلی غیر اصولی هستش. بعد سعی کردم تو تمام مدت که بین activity ها جابجا میشن تمام اطلاعات رو با intent به activity های فرعی بفرستم بعد موقع گرفتن اطلاعات از activity فرعی تمام اطلاعات دیگه رو هم به activity اصلی بفرستم که اینجوری هم خیلی کدهای تکراری و زیادی هردفه برای انجام این کار باید نوشت. بعد فهمیدم که از SharedPreferences هم میشه برای این منظور استفاده کرد.
حالا سوال من اینکه اصولی ترین روش برای اینجام اینکار تو android چیه؟
ممنون

msroid
شنبه 26 دی 1394, 12:36 عصر
سلام

از متد onSaveInstanceState برای دخیره کردن اطلاعات و از متد onRestoreInstanceState برای خوندن اطلاعات استفاده کنید مثلا:


public void onSaveInstanceState(Bundle saveInstanceState){
super.onSaveInstanceState(SaveInstanceState);
saveInstanceState.putString("tarikh", "yourDateHere");
}
// and for getting the saved data
public void onRestoreInstanceState(Bundle saveInstanceState){
super.onRestoreInstanceState(saveInstanceState);
String date = saveInstanceState.getString("tarikh");
}