java - Android:语言更改后刷新当前 fragment

标签 java android android-fragments layout refresh

所以我的 MainActivity 有一个带有一组 fragment 的抽屉导航。

在导航栏顶部,我有 2 个代表一种语言的标志。如果用户单击某种语言,应用程序就会更改整个应用程序的语言。

一切都运行顺利( Activity 刷新,抽屉导航和所有 fragment 都得到翻译),但打开的 fragment 却不然。这意味着用户需要单击抽屉导航并再次选择该 fragment 才能看到它的翻译。

enter image description here

如何刷新用户当前所在的 fragment ?

最佳答案

提交时将标签添加到 fragment 中:

fragmentManager.beginTransaction().replace(R.id.your_id, fragment, "Your_Fragment_TAG").commitAllowingStateLoss();

然后您可以分离并再次附加 fragment 以进行刷新:

// Reload current fragment
Fragment frg = null;
frg = getSupportFragmentManager().findFragmentByTag("Your_Fragment_TAG");
final FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.detach(frg);
ft.attach(frg);
ft.commit();

关于java - Android:语言更改后刷新当前 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38022709/

相关文章:

android - 如何在 Android 中编辑和保存大位图?目前将其写成图 block ,但将它们重新组合在一起的速度很慢

android - 子 fragment 触发父级的 onClick

android - TextView setText 不刷新文本

java - FileInputStream.available 会愚弄我吗?

java - 如何在 android 的自动完成 TextView 中设置联系人号码?

java - 程序在 Thread.sleep() 期间和计时器卡住

android - 在图像上应用滤镜时 Android 应用程序中的 java.lang.RuntimeException : Applying effect in wrong GL context!

java - Android Tab Layout如何从第二个tab开始

java - 我需要使用我的无人机相机而不是我的网络摄像头

java - java eclipse 中关于包的图像的含义是什么?