آموزش برنامه نویسی اندروید (Android)
۴۱۹ آموزش
نمایش دسته بندی ها (۴۱۹ آموزش)

از دست نرفتن اطلاعات Activity هنگام چرخش صفحه نمایش (عدم restart شدن Activity)، در برنامه نویسی اندروید

هنگامی که یک Activity در برنامه اندروید می سازیم، ممکن است که بر اساس انتخاب های کاربر، یک سری اطلاعات در آن تولید شود و بر اساس آن، ظاهر Activity تغییر داده شود. در چنین حالتی، اگر کاربر، موبایل را بچرخاند، صفحه نمایش می چرخد و این مورد، باعث restart شدن Activity می شود (روش onCreate دوباره اجرا می شود). این اتفاق، اصلا مطلوب نیست و کل روند فعل و انفعالی بین انتخاب های کاربر و Activity را خراب می کند و کاربر مجبور خواهد بود که دوباره روند قبلی را تکرار کند. برای رفع این مشکل، باید در برنامه اندروید، تعیین کنیم که هنگام چرخش صفحه نمایش، اطلاعات از دست نرود و Activity دوباره از اول اجرا نگردد. برای این منظور، در فایل AndroidManifest.xml ، به مشخصات Activity مورد نظرمان، مشخصه زیر را اضافه می کنیم :


android:configChanges="keyboard|keyboardHidden|orientation"

یعنی ابتدا تگ activity مربوط به آن Activity را پیدا می کنیم. مثلا فرض کنید Activity دارای نام Activity_2 باشد، بنابراین کدهای تگ مربوط به آن در فایل AndroidManifest.xml ، مشابه کد زیر می باشد (نام Activity_2 در مشخصه name ذکر شده است) :


<activity
    android:name="com.kelidestan.com.Activity_2"
    android:label="@string/title_activity_activity_2" >
</activity>

اکنون کد ذکر شده را نیز به آن اضافه می کنیم :


<activity
    android:name="com.kelidestan.com.Activity_2"
    android:label="@string/title_activity_activity_2"
    android:configChanges="keyboard|keyboardHidden|orientation" >
</activity>

البته قبل از افزودن کد، بررسی کنید که قبلا مشخصه configChanges در تگ به کار رفته یا نه، اگر به کار رفته بود، باید تنها کد مربوط به آن را مطابق کدی که ذکر شد، بروزرسانی کنید (مقادیر آن مشخصه را مطابق مقادیر ذکر شده قرار بدهید).

نویسنده علیرضا گلمکانی
شماره کلید 270
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 0 0 0

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)