بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

تغیر تم برنامه و ذخیره ی آن

مدیریت گفتگو
مهدی 9 سال پیش
آخرین تغییر: 9 سال پیش

با عرض سلام و خسته نباشید خدمت دوستان

من در منوی تنظیمات برنامه گزینه ای دارم برای تغییر برنامه، که این کار رو انجام می دهم و ذخیره می کنم ولی برای اینکه تم تغیر کنه باید برنامه را یکبار ببندم بعد مجدد برنامه را باز کنم ولی من می خوام وقتی روی کلیک برگشت می زنم تم برنامه در اکتیویتی اصلی تغییر کنه و نیازی به باز بسته کردن برنامه نباشه

ممنون میشم دوستان کمک کنید.

کد داخل اکتیویتی اصلی

 
final String themePrefKey=getString(R.string.pref_theme), defaultTheme=getResources().getString(R.string.pref_theme_default);
final String theme= PreferenceManager.getDefaultSharedPreferences(this).getString(themePrefKey,defaultTheme);
switch(theme)
{
case "dark":
setTheme(R.style.AppTheme_Dark);
break;
case "light":
setTheme(R.style.AppTheme_Light);
break;
}

نظرات

پاسخ‌ها 1

مشاهده پاسخ صحیح

 پاسخ صحیح

سلام

در رویداد onbackpressed اکتیویتی اصلی یه intent برای استارت اکتویتی اصلی قرار بده :

@Override
public void onBackPressed() {
    Intent intent = new Intent(this, <your_main_activity>.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
}

منبع : stackoverflow

نظرات

همچنین برای رفتن به اکتیویتی تنظیمات همین کد استفاده کنید
اگر هم در همون اکتیویتی اصلی تم تغییر میدید بعد کد تم این کد قرار بدید : recreate();
مهدی 9 سال پیش
ممنونم، لطف کردی

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .