2017-01-31 2 views
0

Привет, ребята, у меня есть вопрос. У меня есть кнопка с двумя вариантами, например, отмечена и не отмечена для девушки, и у меня такая же для мальчиков. В моем фрагменте мне нужно выбрать его и сохранить в SharedPreferences.Как сделать фотографию в SharedPreferences и сохранить ее

у меня есть это для кнопок конфигурационными:

private void setSexButtons() { 

    sexButtonBoy.setOnClickListener(view -> { 
     sexButtonBoy.setSelected(true); 
     sexButtonBoy.setScaleX(1.4f); 
     sexButtonBoy.setScaleX(1.4f); 
     sexButtonGirl.setSelected(false); 
     sexButtonGirl.setScaleY(1.0f); 
     sexButtonGirl.setScaleX(1.0f); 
     Settings.setSelectedIem(true); 

    }); 

    sexButtonGirl.setOnClickListener(view -> { 
     sexButtonBoy.setSelected(false); 
     sexButtonGirl.setSelected(true); 
     sexButtonGirl.setScaleX(1.4f); 
     sexButtonGirl.setScaleX(1.4f); 
     sexButtonBoy.setScaleY(1.0f); 
     sexButtonBoy.setScaleX(1.0f); 
     Settings.setSelectedIem(true); 
    }); 
} 

и я также есть метод для сохранения - но я думаю, что я что-то плохое becouse это не работает

public static void setSelectedIem(boolean selectedIem) { 
    getPreferences().edit() 
      .putBoolean(SELECTED_SEX, selectedIem) 
      .apply(); 
} 

private static final String SELECTED_SEX = "selectedSex"; 

Пожалуйста, дайте мне совет как это сделать хорошо.

К сожалению я пропусти здесь это:

privated SharedPreferences sharedPreferences; 

и в OnCreate

sharedPreferences = getSharedPreferences("me.fast.app", MODE_PRIVATE); 

и здесь является основным методом:

private static SharedPreferences getPreferences() { 
    return ApplicationFast.sharedPreferences; 
} 

Обновлено с новым методом

public static boolean isSelectedItem(){ 
     return getPreferences().getBoolean(SELECTED_SEX, false); 
    } 
+0

Вы можете разместить код вашего 'метода getPreferences'? –

+0

Спасибо за ответ, я отредактировал главный пост – Rodriquez

+0

сейчас полностью отредактирован – Rodriquez

ответ

0

Я думаю, что ваша проблема заключается в сохранении логического значения, потому что для обоих полов вы сохраняете «истину».

Вы должны сделать это:

private void setSexButtons() { 
    //If you want to recover the settings do this: 
    sexButtonBoy.setSelected(Settings.isSelected()); 
    sexButtonGirl.setSelected(!Settings.isSelected()); 

    sexButtonBoy.setOnClickListener(view -> { 
     sexButtonBoy.setSelected(true); 
     sexButtonBoy.setScaleX(1.4f); 
     sexButtonBoy.setScaleX(1.4f); 
     sexButtonGirl.setSelected(false); 
     sexButtonGirl.setScaleY(1.0f); 
     sexButtonGirl.setScaleX(1.0f); 
     Settings.setSelectedIem(true); 

    }); 

    sexButtonGirl.setOnClickListener(view -> { 
     sexButtonBoy.setSelected(false); 
     sexButtonGirl.setSelected(true); 
     sexButtonGirl.setScaleX(1.4f); 
     sexButtonGirl.setScaleX(1.4f); 
     sexButtonBoy.setScaleY(1.0f); 
     sexButtonBoy.setScaleX(1.0f); 
     Settings.setSelectedIem(false); 
    }); 

} 

А потом:

public static void setSelectedIem(boolean selectedIem) { 
    getPreferences().edit() 
      .putBoolean(IS_BOY, selectedIem) 
      .apply(); 
} 

private static final String IS_BOY = "isboy"; 

 Смежные вопросы

  • Нет связанных вопросов^_^