ورود

View Full Version : دکمه برگشت



Saeid4110
شنبه 14 دی 1392, 17:55 عصر
سلام میخواستم ببینم چطوری میشه داخل یه برنامه دکمه برگشت گذاشت مثلا وقتی به یه اکتیویتی رفت با زدن دکه برگشت به اکتیویتی اصلی برگردد؟(کد دکمه برگشت)

smemamian
شنبه 14 دی 1392, 18:43 عصر
وقتی چندتا اکتیویتی رو شما اجرا می کنید هرکدام توی استک به صف میشن، مثلاً شما اکتیویتی های 1 2 3 رو دارید، اگه 3 رو ببنید میره اکتیویتی2، اگه اکتیویتی2 رو ببنید میره اکتیویتی1 که اکتیویتی1 اجرا کننده یا main هستش.

حالا شما توی هر اکتیویتی هستید (1 2 3 ) باید قبل از بسته شدن، داده های کاربر رو ذخیره کنید (روی فایل، دیتابیس، bundle، sharedpreferences).

این اصول کلی بود، حالا کارتون چی هست بشه بهتر راهنمایی کرد که چگونه اکتیویتی رو finish کنید.

whiteflag
شنبه 14 دی 1392, 21:39 عصر
سلام میخواستم ببینم چطوری میشه داخل یه برنامه دکمه برگشت گذاشت مثلا وقتی به یه اکتیویتی رفت با زدن دکه برگشت به اکتیویتی اصلی برگردد؟(کد دکمه برگشت)
کلا برای رفتن به activity ها مختلف با استفاده از دستور intent از این روش استفاده میشه:
Intent yourname = new Intent(currentActivity.this, *.class);
currentActivity.this.startActivity(yourname);
currentActivity اسمه کلاسی هست که الان درونش هستید و * اسم کلاسی هست که می خواید برید و yourname هم اسم intent که دلخواه هست.
که حالا اگه شما همه activity های قبلی تون رو به جز صفحه اصلی بسته باشید یعنی با دستور :
currentActivity.this.finish();
اینبار فقط کافیه یه intent دیگه تعریف کنید مثل بالا و کد رو داخلش بذارد:
Intent yourname = new Intent(currentActivity.this, *.class);
currentActivity.this,.finish();
ولی اگه تمام activity ها باز راشه که معلومه دیگه کافیه یه intent به صفحه اصلیتون بسازید که کد کامل میشه:((حالا این با استفاده از button هست))

Button back= (Button) findViewById(R.id.btnBack);
back.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
Intent yourname= new Intent(currentActivity.this, *.class);
currentActivity.this.startActivity(yourname);

}
});