Boa tarde a todos.
Segue o código e abaixo explico o que está acontecendo.
Se executo o método acima, clicando em um botão na classe MainActivity.java funciona perfeitamente, mas se inicio o método no onCreate, junto com a classe esse método entre em loop infinito, chega quase que travar o celular. Abaixo sege a classe completa.
public class MainActivity extends AppCompatActivity {
Button btSalvar;
TextView tvSharedPref;
Locale myLocale;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//setLocale("fr");
tvSharedPref = (TextView) findViewById(R.id.tv_shared_pref);
btSalvar = (Button) findViewById(R.id.bt_salvar);
btSalvar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setLocale("fr");
}
});
}
@Override
protected void onStart(){
super.onStart();
//setLocale("fr");
}
@SuppressWarnings("deprecation")
public void setLocale(String lang) {
myLocale = new Locale(lang);
Resources res = getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
conf.locale = myLocale;
res.updateConfiguration(conf, dm);
Intent refresh = new Intent(this, MainActivity.class);
startActivity(refresh);
}
}