جابجایی بین دو اکتیویتی در اندروید
در این قسمت از آموزشهای اندروید به آموزش جابجایی بین دو اکتیویتی یا دو صفحه میپردازیم؛
جابجایی بین دو اکتیویتی در اندروید
برای اینکار ابتدا وارد محیط Design اکتیویتی اول میشویم. از بخش palete یک button به صفحهی خود اضافه کنید. ID آن را برابر btn_goto و text آنرا برابر Go To بگذارید.

![]()
![]()
سپس وارد کدهای Activity خود شوید و کتابخانههای زیر را به آن اضافه کنید:
import android.view.View; import android.widget.Button; import android.content.Intent;
بعد از اضافه کردن کتابخانههای بالا وارد متد onCreate اکتیویتی مورد نظر خود شوید و کد زیر را اضافه کنید:
Button btn_goto = (Button) findViewById(R.id.btn_goto);
btn_goto.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(activityYek.this, activityDo.class);
startActivity(intent);
}
});
نکته:
در کد بالا ما از activityYek و activityDo استفاده کردهایم که در خط ششم کد بالا آن را با توجه به اکتیویتیهای خود تغییر دهید. در کد بالا ابتدا با btn_goto به کلید دسترسی پیدا کرده و برای آن ایونت OnClickListener تعریف کرده و کد انتقال را با کمک Intent برای آن تعریف کردیم. پایان؛ در صورتی که به درستی مراحل بالا را دنبال کنید، یک کلید برای انتقال شما از activityYek به activityDo ایجاد میشود.(کد بالا در اندروید استادیو به درستی تست و اجرا شده است.)
در صورتی که روش بهتری برای مثال بالا میشناسید برای ما ارسال کنید تا با دیگران به اشتراک بگذاریم.



















چطوری میشه بعد از startActivity، اکتیویتی اصلی رو همچنان نگه داشت بدون اینکه بسته بشه؟
برای اینکه بعد از startActivity اکتیویتی اصلی بسته نشه، کافیه فقط startActivity رو بدون هیچ کاری دیگه صدا بزنی؛ اکتیویتی اصلی در پسزمینه نگه داشته میشه و بسته نمیشه مگر خودت finish() روش بزنی.
برای برگشت از اکتیویتی دوم به اول، باید finish() بذاریم یا startActivityForResult؟
برای برگشت از اکتیویتی دوم به اول دو راه هست: اگر فقط میخوای اکتیویتی دوم بسته بشه و به اول برگردی، کافیه finish() تو اکتیویتی دوم بزنی. اگر میخوای دادهای هم از اکتیویتی دوم به اول برگردونی، از startActivityForResult و سپس setResult و finish استفاده کن.
آیا برای استفاده از Intent نیاز به تعریف اکتیویتی مقصد در AndroidManifest هست؟
برای استفاده از Intent و جابجایی بین اکتیویتیها، بله، باید اکتیویتی مقصد توی فایل AndroidManifest تعریف شده باشه تا سیستم اندروید اون رو بشناسه و اجازه اجرای اون رو بده.
برای من ارور میده که باید متد استارت اکتیویتی بسازی
لطفا متن ارور رو ارسال کنید که بتونم راهنماییتون کنم
این کد روی پروژه من بدون مشکل اجرا شد
موفق باشید.