سؤال

كيف يمكنني تطبيق السمة دون إعادة تشغيل التطبيق بالكامل?إذا كنت تفعل ذلك مع startActivity(getIntent()); finish(); إنهاء النشاط ولا إعادة تشغيل.هل من الممكن ببساطة إعادة تشغيل / إعادة النشاط لتطبيق موضوع?

هل كانت مفيدة؟

المحلول

هو في ترتيب غير صحيح.

    finish();
    intent = new Intent(this, <your_activity>.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);

هذا هو الترتيب الصحيح.

يمكن تعيين الموضوع من قبل super.onCreate(savedInstanceState); يتم استدعاؤه.تحتاج إلى تدمير النشاط وإنشائه مرة أخرى والاتصال على الفور setTheme(THEME); في أونكريت()

نصائح أخرى

Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage( getBaseContext().getPackageName() );
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top