Activity使用Intent intent = getIntent(); finish(); startActivity(intent); 重启自己

2022-12-12 遇到的一点小问题

app里面有个切换语言的功能,根据用户选择的语言来展示对应的string.xml的内容。

        Resources resources = context.getResources();
        DisplayMetrics metrics = resources.getDisplayMetrics();
        Configuration config = resources.getConfiguration();
        config.setLocale(Locale.FRENCH);
        resources.updateConfiguration(config, metrics);

因为Activity里面的内容太多了,而且整个app的Activity就三四个,懒得刷新View。所以是当用户在页面选择其他语言后,重启当前Activity。

        Intent intent = getIntent();
        finish();
        startActivity(intent);

因为Activity的切换都设置的没有动画<item name="android:windowAnimationStyle">@null</item>,所以切换时页面变化不会很明显。但最近在一个页面上加了这个功能后,出现转场动画。试了网上找的overridePendingTransition(0, 0);intent.addFlags( Intent.FLAG_ACTIVITY_NO_ANIMATION );等方法还是没效果。
最后面想起既然跳转其他页面没动画,干脆先跳到透明Activity再跳回来。
试了下,跳转没问题,且画面页面闪烁。

Intent intent = new Intent(context, TestActivity.class);
startActivity(intent);
finish();
//新Activity的onCreate(Bundle savedInstanceState) 方法执行:
Intent intent = new Intent(context, MainActivity.class);
startActivity(intent);
finish();
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容