I want to change the language of my options menu. This code works in all my activity excepts menu.
public boolean onOptionsItemSelected(MenuItem item) {
    switch(item.getItemId()){
        case R.id.ingles:
            mLocale = new Locale("en");
            Locale.setDefault(mLocale); 
            config = getBaseContext().getResources().getConfiguration(); 
            if (!config.locale.equals(mLocale)) { 
                config.locale = mLocale; 
                getBaseContext().getResources().updateConfiguration(config, null); 
            }
            setContentView(R.layout.main);
            break;
        case R.id.euskera:
            mLocale = new Locale("eu");
            Locale.setDefault(mLocale); 
            config = getBaseContext().getResources().getConfiguration(); 
            if (!config.locale.equals(mLocale)) { 
                config.locale = mLocale; 
                getBaseContext().getResources().updateConfiguration(config, null); 
            }
            setContentView(R.layout.main);
            break;
    }
    return super.onOptionsItemSelected(item);
}
why? I tried with onPrepareOptionsMenu but it creates additional menus
public boolean onPrepareOptionsMenu(Menu menu) {
    if(config.equals(this.getBaseContext().getResources().getConfiguration())){
        MenuInflater inflater = this.getMenuInflater();
        inflater.inflate(R.menu.menu, menu);
        return true;
    }
    return false;
}
 
     
     
    