kann ich darüber nachdenken, 2 Möglichkeiten, diese zu lösen:
Aufruf setContentView im onConfigurationChanged Methode
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (language_changed){//pseudo_code
Locale locale = new Locale(languageToLoad);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
setContentView(R.layout.activity_maps);
//now you need to do again all the findViewById call
}
}
Starten Sie die Aktivität in der onConfigurationChanged-Methode
neu @Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (language_changed){//pseudo_code
startActivity(CurrentActivity.this, CurrentActivity.class);
finish();
}
}
ich nicht getestet habe, aber es ist vielleicht ein Ausgangspunkt, um zu versuchen, Ihr Problem zu lösen.
Vergessen Sie nicht, Ihrem Aktivitäts-Tag AndroidManifest.xml
android:configChanges="locale"
hinzuzufügen, damit das System weiß, dass Sie die Gebietsschema-Änderungen selbst vornehmen möchten. Weitere Informationen finden Sie unter here
Haben Sie dies in der onConfigurationChanged Aktivität Methode zu behandeln versucht? – MatPag
Ich habe das versucht, aber nicht funktioniert ..... auch es funktioniert nicht, falls ich die Aktivität wieder öffnen ... es funktioniert nur auf App wieder öffnen. – Manish