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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Гуглс Карты + мессенджер http://www.cyberforum.ru/android-dev/thread1463799.html
Ребята, прошу помощи. Помогите с тем как организовать проект. Идея в следующем. Имеется приложение с подключенными гугл картами. На этой карте отображаются пользователи данного приложения. Они могут...
Программирование Android Стилизация TabView Добрый день, Уважаемые разработчики! Помогите пожалуйста, как разрешить некую проблему со стилизацией TabView... Я хочу изменить цвет tab indicator color (голубая линия) но получается изменить... http://www.cyberforum.ru/android-dev/thread1463793.html
Программирование Android Постепенное растворение фона
У меня не получается постепенно растворять цвет.В программе указал увеличение цвета на 10, используя массив color1,color2 и color3 через таймер CountDownTimer.Но цвета меняются бесконечно от черного...
Gradle build error Программирование Android
Error:duplicate files during packaging of APK D:\Projects\SyncStopper\app\build\outputs\apk\app-debug-unaligned.apk Path in archive: META-INF/spring.factories Origin 1:...
Программирование Android Получить картинку ImageView http://www.cyberforum.ru/android-dev/thread1463496.html
Здравствуйте. Подскажите пожалуйста как можно получить ссылку/путь на ресурс картинки которая стоит в ImageView? Перечитал много форумов, где-то сказали, что напрямую нельзя получить или вовсе...
Программирование Android Политика конфиденциальности при работе с google analitics Совсем не смыслю в юридических делах, я же не могу так просто использовать google analitics, я якобы должен уведомить пользователей, как это сделать чтоб потом не было никаких проблем с гуглом. подробнее

Показать сообщение отдельно
Stetsura
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 44

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

31.05.2015, 13:08. Просмотров 437. Ответов 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);
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru