Skip to content

Instantly share code, notes, and snippets.

@Amir-P
Last active August 23, 2019 20:50
Show Gist options
  • Save Amir-P/31fe140fd1d6e763e5d34c06e383b0f3 to your computer and use it in GitHub Desktop.
Save Amir-P/31fe140fd1d6e763e5d34c06e383b0f3 to your computer and use it in GitHub Desktop.
Change application language programmatically
package com.amir_p.myapplication;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.res.Configuration;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import java.util.Locale;
@SuppressLint("Registered")
public class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
protected void attachBaseContext(Context newBase) {
Locale locale = new Locale(AppController.getInstance().sLocale);
Configuration configuration = newBase.getResources().getConfiguration();
configuration.setLocale(locale);
super.attachBaseContext(newBase.createConfigurationContext(configuration));
}
}
package com.amir_p.myapplication;
import android.os.Bundle;
public class MainActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment