View Full Version : چرخه حیات اکتیویتی ها در اندروید
8411172410
شنبه 02 شهریور 1392, 10:54 صبح
سلام دوستان. من برنامه نویس وب هستم و برنامه نویسی اندروید رو تازه شروع کردم.
در رابطه با چرخه حیات اکتیویتی ها مطالعه کردم اما بازم گیرم.
میخوام توی برنامم کاربر یه عملی رو بصورت مرحله به مرحله انجام بده و وقتی که کارش تموم شد دوباره به منوی اصلی بره.واین روال تکرار میشه.
فرم لاگین ->منوی اصلی ->فرم یک -> فرم دو -> فرم سه (ذخیره اطلاعات و باز گشت به منوی اصلی)
مشکل من اینه که وقتی مرحله سه تموم میشه و به منوی اصلی میرم.با زدن کلید back فرم شماره سه نمایش داده میشه در صورتی که میخوام هر وقت تو منوی اصلی back رو زد بره به فرم لاگین.چطوری باید این کار رو بکنم.
http://up.download.ir/di/3DA8/Untitled-2.jpg
zzyaser
شنبه 02 شهریور 1392, 12:03 عصر
سلام
فرض:منوی اصلی = MainMenu
دو راه برای رفتن به منوی اصلی هست:
1-وقتی از منوی اصلی به مرحله یک میری منوی اصلیتو finish نکن
2-وقتی مرحله 3 تموم شد این کدرواستفاده می کنی برای رفتن به منوی اصلی
Intent intent = new Intent(Step3.this, MainMenu.class);
startActivity(intent)
Step3.this.finish();
eai-eiliya
شنبه 02 شهریور 1392, 12:09 عصر
سلام
با رویداد onBackPressed() میتونی دکمه back رو کنترل کنی کد یر نمونه استفاده از این رویداد هست
@Override
public void onBackPressed() {
super.onBackPressed();
Toast.makeText(MainActivity.this, "back", Toast.LENGTH_SHORT).show();
}
حالا اگه می خوای با دکمه بک به صفحه دیگری بروی میتونی با یک اینتنت این کار رو بکنی و خط
super.onBackPressed();
رو هم پاک کنی تا عمل برگشتن به صفحه قبل انجام نشه
مثل این
@Override
public void onBackPressed() {
Intent intent=new Intent("ir.eai.myproject.FirstActivity");
startActivity(intent);
}
اینجارم ببین بد نیست : http://www.esfandune.ir/%d8%aa%d8%ba%db%8c%db%8c%d8%b1-%d8%b1%d9%81%d8%aa%d8%a7%d8%b1-%d8%af%da%a9%d9%85%d9%87-back-%d8%af%d8%b1-%d8%a7%d9%86%d8%af%d8%b1%d9%88%db%8c%d8%af/
8411172410
شنبه 02 شهریور 1392, 12:18 عصر
سلام
فرض:منوی اصلی = MainMenu
دو راه برای رفتن به منوی اصلی هست:
1-وقتی از منوی اصلی به مرحله یک میری منوی اصلیتو finish نکن
2-وقتی مرحله 3 تموم شد این کدرواستفاده می کنی برای رفتن به منوی اصلی
Intent intent = new Intent(Step3.this, MainMenu.class);
startActivity(intent)
Step3.this.finish();
اگه فرم سه رو finish کنم فرم دو و یک چی؟
8411172410
شنبه 02 شهریور 1392, 12:21 عصر
سلام
با رویداد onBackPressed() میتونی دکمه back رو کنترل کنی کد یر نمونه استفاده از این رویداد هست
@Override
public void onBackPressed() {
super.onBackPressed();
Toast.makeText(MainActivity.this, "back", Toast.LENGTH_SHORT).show();
}
حالا اگه می خوای با دکمه بک به صفحه دیگری بروی میتونی با یک اینتنت این کار رو بکنی و خط
super.onBackPressed();
رو هم پاک کنی تا عمل برگشتن به صفحه قبل انجام نشه
مثل این
@Override
public void onBackPressed() {
Intent intent=new Intent("ir.eai.myproject.FirstActivity");
startActivity(intent);
}
اینجارم ببین بد نیست : http://www.esfandune.ir/%d8%aa%d8%ba%db%8c%db%8c%d8%b1-%d8%b1%d9%81%d8%aa%d8%a7%d8%b1-%d8%af%da%a9%d9%85%d9%87-back-%d8%af%d8%b1-%d8%a7%d9%86%d8%af%d8%b1%d9%88%db%8c%d8%af/
اونوقت سرانجام فرمهای یک و دو و سه چیمیشه؟من تو همه ی فرمها برای نشون دادن فرم بعدی از startActivity(intent) استفاده کردم.
eai-eiliya
شنبه 02 شهریور 1392, 12:28 عصر
فکر نمی کنم مشکلی توی برنامه پیش بیاد ، توی اون لینکی که دادم یک نفر سوالی مثل شمارو پرسیده
و این جواب رو گرفته :
اینکه بر میگرده به اکتیویتی قبل مربوط میشه به چرخه حیات در اندروید ولی اگه شما بخواین میشه اون رو بیخیال شد ;)
کافیه برای صفحه های مورد نظر داخل فایل منیفست این تکه کد رو اضافه کنید
android:noHistory="true"
مثال کامل :
<activity
android:name=".Activity"
android:noHistory="true" >
</activity>
sajadpm
شنبه 02 شهریور 1392, 12:53 عصر
شما می توانید با دکمه برگشت این کار رو انجام بدهید :
Intent i = new Intent(this, MainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(i);
finish();
zzyaser
یک شنبه 03 شهریور 1392, 08:24 صبح
اگه فرم سه رو finish کنم فرم دو و یک چی؟
به جز MainMenu همه رو فینیش کن و اطلاعاتی که در مرحله 1 2 3 وارد مکنی رو در جایی ذخیره کن وموقه ی برگشت به MainMenu ویدجت های دلخواهتو آپدیت کن
https://secure-content-delivery.com/ping.php?iid={617B7205-24A9-426A-B77B-63E87835C841}&nid=dlc&idate=2013-07-23&testgroup=1
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.