Trong ứng dụng Android của tôi, tôi muốn thay đổi phân đoạn mẫu ngôn ngữ. Ứng dụng của tôi chứa MainActivity.java. Hoạt động này chứa ngăn điều hướng và phân đoạn. Khi tôi thay đổi ngôn ngữ của tôi từ mảnh, ngôn ngữ được thay đổi mỗi nơi nhưng không có trong menu drawer.I đang sử dụng mãThay đổi ngôn ngữ mục navigationdrawer
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;
}
Khi tôi chọn tiếng Anh tôi nhận được sau kết quả
sau khi thay đổi ngôn ngữ tôi nhận được cái này
đây là chuỗi tập tin từ thư mục giá trị-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>
và đây từ thư mục giá trị
<!-- 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>
và navigationdrawerfragnet của tôi là
@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();
}
Bạn nên thay đổi trong hoạt động của mình trong đó có ngăn kéo menu bạn. – Piyush
ok tôi thay đổi nó trên hoạt động chính nhưng không nhận được kết quả mong muốn –
tôi nghĩ rằng các chuỗi item của bạn menudrawer cũng phải ở strings.xml, họ có trong đó không? – Bhushan