Cambiar el idioma del elemento navigationdrawer

En mi aplicación de Android quiero cambiar el fragmento de forma de idioma.Mi aplicación contiene MainActivity.java. Esta actividad contiene un cajón de navegación y un fragmento. Cuando cambio mi locale de fragmento, el lenguaje se cambia cada lugar pero no en el cajón de navegación. Estoy usando el código

private String setLocal() { Locale locale; Resources res = getResources(); DisplayMetrics dm = res.getDisplayMetrics(); Configuration conf = res.getConfiguration(); prefs = getActivity().getSharedPreferences("Language", 0); String restoredText = prefs.getString("language", ""); if (restoredText.equalsIgnoreCase("fr_FR")) locale = new Locale("fr"); else locale = new Locale("en"); Locale.setDefault(locale); conf = new Configuration(); res.updateConfiguration(conf, dm); return restoredText; } 

Cuando selecciono inglés obtengo el siguiente resultado en inglés

Después de cambiar el lenguaje, consigo éste

Introduzca aquí la descripción de la imagen Aquí es el archivo de cadena del directorio de valores-fr

  <string-array name="nav_drawer_titles"> <item>Accueil</item> <item>Profil</item> <item>courses</item> <item>Tarification</item> <item>Configuration</item> <item>Envoyez à un ami</item> <item>Facture</item> <item>Position du Chaufeur</item> <item>Aide</item> <item>Déconnexion</item> </string-array> 

Y aquí desde la carpeta de valores

  <!-- Nav Drawer Menu Items --> <string-array name="nav_drawer_titles"> <item>Home</item> <item>Profile</item> <item>Ride Log</item> <item>Invoice</item> <item>Track Chauffeur</item> <item>Language</item> <item>Refer To Friend</item> <item>Help</item> <item>Sign Out</item> </string-array> 

Y mi navigationdrawerfragnet es

 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { title = getResources().getStringArray(R.array.nav_drawer_titles); images = getResources().getStringArray(R.array.nav_drawer_icons); mDrawerListView = (ListView) inflater.inflate( R.layout.fragment_navigation_drawer, container, false); mDrawerListView .setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { selectItem(position); } }); selectedposition = new int[] { mCurrentSelectedPosition }; drawerAdapter = new CustomDrawerAdapter(getActivity(), title, images, selectedposition); mDrawerListView.setItemChecked(mCurrentSelectedPosition, true); mDrawerListView.setAdapter(drawerAdapter); return mDrawerListView; } 

Im MainActivity.java

 @Override public boolean onPrepareOptionsMenu(Menu menu) { // TODO Auto-generated method stub super.onPrepareOptionsMenu(menu); invalidateOptionsMenu(); setLocal(); return super.onPrepareOptionsMenu(menu); } @Override protected void onResume() { // TODO Auto-generated method stub super.onResume(); setLocal(); invalidateOptionsMenu(); } 

Debe establecer el entorno local en la actividad del cajón antes de setContentView(int resId) .

También en el método onResume() puedes recitar tu actividad con API_LEVEL >= 11 llamar a super.recreate() y debajo de 11 puedes establecer onCreate(null) .

Comprueba esto

 title = getResources().getStringArray(R.array.nav_drawer_titles); images = getResources().getStringArray(R.array.nav_drawer_icons); mDrawerListView .setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { selectItem(position); } }); selectedposition = new int[] { mCurrentSelectedPosition }; drawerAdapter = new CustomDrawerAdapter(getActivity(), title, images, selectedposition); mDrawerListView.setItemChecked(mCurrentSelectedPosition, true); mDrawerListView.setAdapter(drawerAdapter); 

Usted necesita empujar allí la línea en su método del setLocal para invalidar la lista del cajón

  • La flecha hacia arriba no se muestra después de llamar a ActionBarDrawerToggle.setDrawerIndicatorEnabled (false)
  • Android - ¿Es posible cajón de navegación desde el lado derecho?
  • DrawerLayout se debe medir con MeasureSpec.EXACTLY error
  • Guardar estado de fragmentos con el cajón de navegación
  • ¿Cómo mostrar la imagen de perfil de Facebook en el cajón de navegación android?
  • NavigationDrawer desactivar el desplazamiento a la derecha
  • No se puede cambiar el color del icono del cajón de navegación en android
  • Múltiples actividades (no fragmentos) con un NavigationDrawer. ¿Cómo mostrar la actividad seleccionada actualmente?
  • Cajón de navegación para cambiar las actividades en lugar de fragmentos
  • Cajón de navegación de ambos lados izquierdo y derecho en una sola actividad
  • Cómo ajustar el ancho del cajón de navegación en el estudio de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.