Я новичок в Java и Android Studio, решил сделать Spinner для переключения темы приложения в настройках, но программа работает не корректно.
1.Мне нужно чтобы при перезагрузке приложения Spinner сохранял своё положение. 2.При выборе "Светлая тема" в SharedPreferences сохраняется "Тёмная тема", при выборе "Темная тема" - "Тёмно-серая тема", "Тёмно-Серая тема" - "Светлая тема". Мне нужно исправить данное недоразумение.
Setting Activivty
public class SettingsActivity extends AppCompatActivity {
SharedPreferences colorPref;
public static final String COLOR_PREF = "l";
Spinner ThemeSpinner;
String Theme;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
colorPref = getSharedPreferences(COLOR_PREF, Context.MODE_PRIVATE);
//Spinner
ThemeSpinner = (Spinner) findViewById(R.id.SpinnerTheme);
final ArrayAdapter<?> adapter = ArrayAdapter.createFromResource(this, R.array.Themes, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
ThemeSpinner.setAdapter(adapter);
ThemeSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long id) {
Theme = (String)adapterView.getItemAtPosition(position
colorPref = getPreferences(MODE_PRIVATE);
boolean hasVisited = colorPref.getBoolean("hasVisited", false);
String savedTheme = colorPref.getString(COLOR_PREF, "");
if (!hasVisited) {
SharedPreferences.Editor e = colorPref.edit();
String savedTheme_First = getString(R.string.Pink_White_rus);
savedTheme = savedTheme_First; e.putString(COLOR_PREF, savedTheme);
e.putBoolean("hasVisited", true);
e.apply();
}
if(savedTheme != Theme){
SaveTheme();
ThemeUtils.changeToTheme(Theme);
Toast toast = Toast.makeText(getApplicationContext(), "Установлена : " + savedTheme, Toast.LENGTH_SHORT);
toast.show();
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
public void SaveTheme(){
colorPref = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor ed = colorPref.edit();
ed.putString(COLOR_PREF, Theme);
ed.apply();
}
Array
<string-array name="Themes">
<item>@string/Pink_White_rus</item>
<item>@string/Pink_Dark_rus</item>
<item>@string/Pink_VeryDark_rus</item>
</string-array>
strings.xml
<string name="Pink_White_rus">Светлая тема</string>
<string name="Pink_Dark_rus">Тёмно-серая тема</string>
<string name="Pink_VeryDark_rus">Тёмная тема</string>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Пробую найти правильное регулярное выражение, никак не выходит
Не получается выполнить задание, условие которого следующее: ТРАНСПОЗИЦИЯ С ФИКСИРОВАННЫМ ПЕРИОДОМ: В этом случае сообщение делится на группы...
Вопрос такой: Как подключить несколько БД к Spring Boot?