Я использую этот код, чтобы сделать приложение палача, но если я выбрал язык, сначала ничего не произойдет, если я нажму три кнопки (nyttSpillKnapp, omSpilletKnapp, avsluttKnapp) Не знаю почему. Если я не выбрал язык в OptionMenu, я могу играть в игру.Может только нажать одну кнопку
public class HangmanActivity extends Activity implements OnClickListener {
private static final String TAG = "Hangman";
SharedPreferences spraak;
String valgtSpraak = "uk";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
settSpraak("uk");
setContentView(R.layout.main);
Button nyttSpillKnapp = (Button) this.findViewById(R.id.nyttSpill);
nyttSpillKnapp.setOnClickListener(this);
Button omSpilletKnapp = (Button) this.findViewById(R.id.omSpillet);
omSpilletKnapp.setOnClickListener(this);
Button avsluttKnapp = (Button) this.findViewById(R.id.avslutt);
avsluttKnapp.setOnClickListener(this);
}
public void settSpraak(String spraak) {
valgtSpraak = spraak;
Locale locale = new Locale(valgtSpraak);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
this.setContentView(R.layout.main);
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.nyttSpill:
SavePreferences("", valgtSpraak);
startActivity(new Intent(this, test.class));
break;
case R.id.omSpillet:
//SavePreferences("", valgtSpraak);
startActivity(new Intent(this, omSpillet.class));
break;
case R.id.avslutt:
finish();
break;
default:
}
}
public boolean onCreateOptionsMenu(Menu meny) {
super.onCreateOptionsMenu(meny);
meny.add(R.string.norsk);
meny.add(R.string.engelsk);
return true;
}
public boolean onOptionsItemSelected(MenuItem item){
SavePreferences("", valgtSpraak);
if (item.getTitle().equals(getResources().getString(R.string.norsk))){
settSpraak("no");
}
if(item.getTitle().equals(getResources().getString(R.string.engelsk))){
settSpraak("uk");
}
return true;
}
private void SavePreferences(String key, String value) {
SharedPreferences myPrefs = getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
SharedPreferences.Editor prefsEditor;
prefsEditor = myPrefs.edit();
prefsEditor.putString(key, value);
prefsEditor.commit();
}
}
** SavePreferences ("", valgtSpraak); ** - Почему вы пытаетесь сохранить настройки с пустой строкой '' '' в качестве ключа? – Squonk
Мой плохой, просто тестирование. он сделал из строки c, когда она не удалась –
(re) настройка просмотра содержимого (создание новых кнопок) без настройки кнопок нажмите кнопку прослушивания в функции языка перевода. – Deucalion