1
프로젝트를 변경하고 프로젝트를 닫고 언어를 다시 열면 언어가 변경됩니다.안드로이드 스튜디오에서 언어가 변경되지 않았습니다.
이 문제를 확인하는 방법? onResume에서
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Locale myLocale;
private Button btn_en, btn_ku,btn_ar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
loadLocale();
this.btn_en = (Button)findViewById(R.id.btn_en);
this.btn_ku = (Button)findViewById(R.id.btn_ku);
this.btn_ar = (Button)findViewById(R.id.btn_ar);
this.btn_en.setOnClickListener(this);
this.btn_ku.setOnClickListener(this);
this.btn_ar.setOnClickListener(this);
}
public void loadLocale()
{
String langPref = "Language";
SharedPreferences prefs = getSharedPreferences("CommonPrefs", Activity.MODE_PRIVATE);
String language = prefs.getString(langPref, "");
changeLang(language);
}
public void changeLang(String lang)
{
if (lang.equalsIgnoreCase(""))
return;
myLocale = new Locale(lang);
saveLocale(lang);
Locale.setDefault(myLocale);
android.content.res.Configuration config = new android.content.res.Configuration();
config.locale = myLocale;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
//updateTexts();
}
public void saveLocale(String lang)
{
String langPref = "Language";
SharedPreferences prefs = getSharedPreferences("CommonPrefs", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putString(langPref, lang);
editor.commit();
}
private void updateTexts()
{
}
public void onClick(View v) {
String lang = "en";
switch (v.getId()) {
case R.id.btn_en:
lang = "en";
finish();
startActivity(getIntent());
break;
case R.id.btn_ku:
lang = "fa";
finish();
startActivity(getIntent());
break;
case R.id.btn_ar:
lang = "ar";
finish();
startActivity(getIntent());
break;
default:
break;
}
changeLang(lang);
}}
확실하지하지만 안드로이드 (추가 어쩌면 그 단순한 경우) onResume을 (전화, 그렇지 않으면에서 onCreate() 메소드 (이미 파괴되었다) 호출하는 것을 의미합니다 : configChanges = "locale")을 사용하여 언어 변경 - https://developer.android.com/guide/topics/resources/runtime-changes.html – Tasos
:(이 코드는 테스트하지만 내 문제는 확인하지 않습니다. 내가 변경 내 APK에서 언어를 변경하지만 프로그램을 닫으면 지원 RTL 변경되지만 언어가 변경되지 않지만 내가 다른 활동에 갈 때로드 로컬 근무하지만 첫 번째 일은 도움이되지 않습니다 PLZ 도와주세요 : ( –