Intereting Posts
Индивидуальный уровень трафика для Google Maps Как принять диалог в модульном тестировании? Разработка для iPhone / Android и WPF Как добавить файл сопоставления proguard в git (исключить из gitignore, Android Studio) Как вы используете TimerTask для запуска потока? Как сделать пакетный режим доступным для камеры Ошибка связи связи Последний пакет, отправленный на сервер, был 1 мс назад. Как найти место хранения приложения программно в android Spinner Small Size Всегда получать состояние сеанса: CLOSED_LOGIN_FAILED, токен: {токен AccessToken: ACCESS_TOKEN_REMOVED в facebook android sdk3.0. Android предотвращает восстановление активности Проверьте Wi-Fi и GPS подключен или нет в Android? Определите, какой VIEW в нескольких представлениях имеет жест (двойной щелчок, проведите по экрану влево, проведите по экрану вправо и т. Д.)? Есть ли ограничение по длине для String в Android? Выполнение авторизированных (через facebook) запросов REST на мой сервер node.js в приложении PhoneGap

Возможно ли обновить представление фрагмента

Я изменил 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 обновить представление фрагмента

Вы можете просто отсоединить и прикрепить фрагмент, как показано ниже.

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

Это обновит представление, и локаль изменится

Вы можете создать прослушиватель, который будет вызываться при изменении локали. Затем он удалит фрагмент и снова добавит фрагмент. Затем ваш новый язык должен быть поднят.