是否可以刷新片段的视图

我以编程方式更改了我的应用程序locale ,如下所示:

 Resources res = context.getResources(); DisplayMetrics dm = res.getDisplayMetrics(); android.content.res.Configuration conf = res.getConfiguration(); conf.locale = new Locale("cn"); res.updateConfiguration(conf, dm); 

在此之后,我想刷新我目前显示的片段的视图以显示新的区域设置。

所以,我首先得到当前的片段(这是最新的一个在backstack ):

 BackStackEntry latestEntry=fragMgr.getBackStackEntryAt(fragMgr.getBackStackEntryCount()-1); String str=latestEntry.getName(); Fragment fragment=fragMgr.findFragmentByTag(str); 

当我得到当前显示的片段后,我想刷新它的视图 ,但怎么做呢? Android中是否可以刷新片段的视图?

Solutions Collecting From Web of "是否可以刷新片段的视图"

您可以简单地分离和附加片段如下

  Fragment currentFragment = getFragmentManager().findFragmentByTag("FRAGMENT"); FragmentTransaction fragTransaction = getFragmentManager().beginTransaction(); fragTransaction.detach(currentFragment); fragTransaction.attach(currentFragment); fragTransaction.commit(); 

这将刷新视图和区域将会改变

您可以创build一个侦听器,在语言环境发生更改时将会调用该侦听器。 这将删除碎片,并重新添加碎片。 你的新语言环境应该被拿起来。