Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Stetsura
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 44
#1

SharedPreferences для нескольких классов - Программирование Android

31.05.2015, 13:08. Просмотров 412. Ответов 1
Метки нет (Все метки)

Задача следующая: один класс отвечает за настройки, конкретно 2 элемента Checkbox "Отображать кнопку 1" и "Отображать кнопку 2". Второй класс должен отображать или не отображать эти кнопки в зависимости от того, в каком положении находятся Checkbox элементы. Также нужно запоминать выбор Checkbox элементов при закрытии приложения. Пытаюсь сделать это так:

Первый класс:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
public class MainActivity extends Activity{
 
    Button openNewActivityButton;
    CheckBox checkbox1, checkbox2;
    public static final String PREFERENCES_FILE = "mysettings"; 
    public static final String IS_BUTTON1_VISIBLE = "0";
    public static final String IS_BUTTON2_VISIBLE = "0";
    private SharedPreferences mySettings;
    Boolean isButton1Visible, isButton2Visible;
        
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        openNewActivityButton = (Button)findViewById(R.id.openNewActivity);
        checkbox1 = (CheckBox)findViewById(R.id.checkBox1);
        checkbox2 = (CheckBox)findViewById(R.id.checkBox2);
        mySettings = getSharedPreferences(PREFERENCES_FILE, Context.MODE_PRIVATE);
    }
 
    public void onButtonClick(View view){
        Intent openNewActivityIntent = new Intent(this, NewActivity.class);
        startActivity(openNewActivityIntent);
        checkBoxes();
    }
    
    public void checkBoxes(){
        if(checkbox1.isChecked()) {
            isButton1Visible = true;
        }
        else {
            isButton1Visible = false;
        }
        if(checkbox2.isChecked()){
            isButton2Visible = true;
        }
        else{
            isButton2Visible = false;
        }
    }
    
    @Override
    protected void onPause() {
        super.onPause();
        SharedPreferences.Editor editor = mySettings.edit();
        editor.putBoolean(IS_BUTTON1_VISIBLE, isButton1Visible);
        editor.putBoolean(IS_BUTTON2_VISIBLE, isButton2Visible);
        editor.apply();
    }
}
Второй класс:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class NewActivity extends Activity{
 
    Button button1, button2;
    String PREFERENCES_FILE = "mysettings";
    String IS_BUTTON1_VISIBLE;
    private SharedPreferences mySettings;
    Boolean isButton1Visible, isButton2Visible;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_new);
        button1 = (Button)findViewById(R.id.button1);
        button2 = (Button)findViewById(R.id.button2);
        mySettings = getSharedPreferences(PREFERENCES_FILE, Context.MODE_PRIVATE);
        
        if (mySettings.contains(IS_BUTTON1_VISIBLE)){
            isButton1Visible = mySettings.getBoolean(IS_BUTTON1_VISIBLE, isButton1Visible);
        }
        
        if(isButton1Visible = true){
            button1.setVisibility(View.VISIBLE);
        }
        else{
            button1.setVisibility(View.INVISIBLE);
        }
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2015, 13:08     SharedPreferences для нескольких классов
Посмотрите здесь:

SharedPreferences - Программирование Android
как сохранить целое значение в SharedPreferences?

SharedPreferences - Программирование Android
Доброй ночи. Вышла заминка с бд класса SharedPreferences. Вообщем вот код: import android.app.Activity; import...

SharedPreferences - Программирование Android
Всем привет, вопрос: Как через SharedPreferences сохранять "String текст", я многое перепробовал но вылет... Вылет... Не могли бы...

SharedPreferences - Программирование Android
выручайте, в чем ошибка? выводит 94 и 95, а должно 84 и 85 public class MainActivity extends Activity { Intent intent; ...

SharedPreferences - Программирование Android
Можно как-то сохранить SharedPreferences файл после перезагрузки девайса? P.S. как хранятся данные на девайсе в приложении Вк и ему...

SharedPreferences - Программирование Android
String PR = "key"; SharedPreferences mySharedPreferences = getSharedPreferences(PR, Activity.MODE_PRIVATE); String...

Сохранение в SharedPreferences - Программирование Android
Вобщем, я хочу сделать так, чтобы при нажатии на кнопку создавалась на экране ещё одна кнопка(и так можно сделать неограниченное количество...

SharedPreferences, HashMap - Программирование Android
Хочу сделать Save , Load в sharedPreferences и вывести результат в Log. не вижу ошибки :wall: Спасибо. public class...

Array в SharedPreferences - Программирование Android
Добрый вечер! Вопрос заключается в том, можно ли сохранить настройки приложения с помощью SharededPreferences в виде массива? Нужно...

SharedPreferences ArrayList<String> - Программирование Android
Можно ли массив целый сохранить именно методом SharedPreferences ?

SharedPreferences сохранить на флешку - Программирование Android
Гуру, САБЖ! Есть ли СТАНДАРТНОЕ решение для подобного? Хочу сохранять настройки в папку на внешнюю &quot;флешку&quot; (ExternalStorage). ...

Сохранение картинки в SharedPreferences - Программирование Android
Здравствуйте, подскажите, если ли способ хранения небольшой картинки в SharedPreferences, например, в байтовом виде? Записать туда строку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mikalai
256 / 232 / 93
Регистрация: 11.01.2015
Сообщений: 653
31.05.2015, 13:47     SharedPreferences для нескольких классов #2
Вот тут почитай и станет понятнее.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru