У меня есть десять кнопок при нажатии которых происходит сохранение значения кнопки, далее при повторном открытии активности рядом должен загораться зеленый кружок обозначающий то, какая именно была нажата кнопка. Но проблема в том что когда я выбираю последнюю кнопку, закрываю активность, а затем повторно открываю, то цвета меняются у всех элементов. Вот так:
Не имеет значение какое количество элементов на экране, всегда при выборе последнего в списке, получается такая проблема, все остальные кнопки работают как надо. Подскажите, как исправить!?
public class SettingsTheme extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.settings_theme);
bkg_color_triger();
final ImageButton btn_preset_1,btn_preset_2,btn_preset_3,btn_preset_4,btn_preset_5,btn_preset_6,btn_preset_7,btn_preset_8,btn_preset_9,btn_preset_10;
btn_preset_1 = (ImageButton) findViewById(R.id.img_btn_1);btn_preset_2 = (ImageButton) findViewById(R.id.img_btn_2);btn_preset_3 = (ImageButton) findViewById(R.id.img_btn_3);btn_preset_4 = (ImageButton) findViewById(R.id.img_btn_4);btn_preset_5 = (ImageButton) findViewById(R.id.img_btn_5);btn_preset_6 = (ImageButton) findViewById(R.id.img_btn_6);btn_preset_7 = (ImageButton) findViewById(R.id.img_btn_7);btn_preset_8 = (ImageButton) findViewById(R.id.img_btn_8);btn_preset_9 = (ImageButton) findViewById(R.id.img_btn_9);btn_preset_10 = (ImageButton) findViewById(R.id.img_btn_10);
btn_preset_1.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {save_theme_preset("1");}});
btn_preset_2.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {save_theme_preset("2");}});
btn_preset_3.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {save_theme_preset("3");}});
btn_preset_4.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {save_theme_preset("4");}});
btn_preset_5.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {save_theme_preset("5");}});
btn_preset_6.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {save_theme_preset("6");}});
btn_preset_7.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {save_theme_preset("7");}});
btn_preset_8.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {save_theme_preset("8");}});
btn_preset_9.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {save_theme_preset("9");}});
btn_preset_10.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {save_theme_preset("10");}});
}
public void save_theme_preset(String value) {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
SharedPreferences.Editor editor = sp.edit();
editor.putString("default_preset", value);
editor.apply();
bkg_color_triger();
finish();
}
// включает зеленые тригеры при выборе темы
public void bkg_color_triger() {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
String def_pres = sp.getString("default_preset", "1");
String color_triger_1 = "#00000000", color_triger_2 = "#00000000", color_triger_3 = "#00000000", color_triger_4 = "#00000000", color_triger_5 = "#00000000", color_triger_6 = "#00000000", color_triger_7 = "#00000000", color_triger_8 = "#00000000", color_triger_9 = "#00000000", color_triger_10 = "#00000000";
if ((def_pres).equals("1")) {color_triger_1 = "#ff5bff5e";}
if ((def_pres).equals("2")) {color_triger_2 = "#ff5bff5e";}
if ((def_pres).equals("3")) {color_triger_3 = "#ff5bff5e";}
if ((def_pres).equals("4")) {color_triger_4 = "#ff5bff5e";}
if ((def_pres).equals("5")) {color_triger_5 = "#ff5bff5e";}
if ((def_pres).equals("6")) {color_triger_6 = "#ff5bff5e";}
if ((def_pres).equals("7")) {color_triger_7 = "#ff5bff5e";}
if ((def_pres).equals("8")) {color_triger_8 = "#ff5bff5e";}
if ((def_pres).equals("9")) {color_triger_9 = "#ff5bff5e";}
if ((def_pres).equals("10")) {color_triger_10 = "#ffffff";}
ImageView e = (ImageView)findViewById(R.id.c_mm_1);
e.setBackgroundResource(R.drawable.circle_mini_in_mini);
GradientDrawable g = (GradientDrawable) e.getBackground().getCurrent();
g.setColor(Color.parseColor(color_triger_1));
ImageView e2 = (ImageView)findViewById(R.id.c_mm_2);
e2.setBackgroundResource(R.drawable.circle_mini_in_mini);
GradientDrawable g2 = (GradientDrawable) e2.getBackground().getCurrent();
g2.setColor(Color.parseColor(color_triger_2));
ImageView e3 = (ImageView)findViewById(R.id.c_mm_3);
e3.setBackgroundResource(R.drawable.circle_mini_in_mini);
GradientDrawable g3 = (GradientDrawable) e3.getBackground().getCurrent();
g3.setColor(Color.parseColor(color_triger_3));
ImageView e4 = (ImageView)findViewById(R.id.c_mm_4);
e4.setBackgroundResource(R.drawable.circle_mini_in_mini);
GradientDrawable g4 = (GradientDrawable) e4.getBackground().getCurrent();
g4.setColor(Color.parseColor(color_triger_4));
ImageView e5 = (ImageView)findViewById(R.id.c_mm_5);
e5.setBackgroundResource(R.drawable.circle_mini_in_mini);
GradientDrawable g5 = (GradientDrawable) e5.getBackground().getCurrent();
g5.setColor(Color.parseColor(color_triger_5));
ImageView e6 = (ImageView)findViewById(R.id.c_mm_6);
e6.setBackgroundResource(R.drawable.circle_mini_in_mini);
GradientDrawable g6 = (GradientDrawable) e6.getBackground().getCurrent();
g6.setColor(Color.parseColor(color_triger_6));
ImageView e7 = (ImageView)findViewById(R.id.c_mm_7);
e7.setBackgroundResource(R.drawable.circle_mini_in_mini);
GradientDrawable g7 = (GradientDrawable) e7.getBackground().getCurrent();
g7.setColor(Color.parseColor(color_triger_7));
ImageView e8 = (ImageView)findViewById(R.id.c_mm_8);
e8.setBackgroundResource(R.drawable.circle_mini_in_mini);
GradientDrawable g8 = (GradientDrawable) e8.getBackground().getCurrent();
g8.setColor(Color.parseColor(color_triger_8));
ImageView e9 = (ImageView)findViewById(R.id.c_mm_9);
e9.setBackgroundResource(R.drawable.circle_mini_in_mini);
GradientDrawable g9 = (GradientDrawable) e9.getBackground().getCurrent();
g9.setColor(Color.parseColor(color_triger_9));
ImageView e10 = (ImageView)findViewById(R.id.c_mm_10);
e10.setBackgroundResource(R.drawable.circle_mini_in_mini);
GradientDrawable g10 = (GradientDrawable) e10.getBackground().getCurrent();
g10.setColor(Color.parseColor(color_triger_10));
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Добрый вечер, коллеги! Прошу помочь человеку, недавно начавшему изучать jsЕсть задача - некая боковая навигация, состоящая из списка со ссылками,...
Имеются два класса: Article (has_many comments) и Comment(belongs_to article)
Футер и хедер должны быть всегда статичны, а высота дивов регулироваться автоматически, в зависимости от высоты окнаКак можно решить эту...