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

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

Войти
Регистрация
Восстановить пароль
 
GbaLog-
Не Эксперт C++
2540 / 1079 / 272
Регистрация: 24.08.2014
Сообщений: 3,958
Записей в блоге: 1
Завершенные тесты: 2
#1

Передача видимости в другую активность - Android

30.09.2014, 21:12. Просмотров 502. Ответов 11
Метки нет (Все метки)

Допустим у меня на главном экране,есть некая невидимая кнопка,которую можно сделать видимой в настройках,как это реализовать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kirawa
33 / 33 / 1
Регистрация: 12.11.2013
Сообщений: 336
01.10.2014, 07:59     Передача видимости в другую активность #2
button.setVisibility(View.VISIBLE);
GbaLog-
Не Эксперт C++
2540 / 1079 / 272
Регистрация: 24.08.2014
Сообщений: 3,958
Записей в блоге: 1
Завершенные тесты: 2
01.10.2014, 10:52  [ТС]     Передача видимости в другую активность #3
kirawa, -_- Ты думаешь я этого не пробовал?Ошибку выдает.

Добавлено через 1 минуту
Мне надо,чтобы когда я ставлю в настройках галочку,то на главном экране становилась видимой кнопка.
Spelcrawler
525 / 495 / 111
Регистрация: 12.03.2014
Сообщений: 1,647
Завершенные тесты: 1
01.10.2014, 11:32     Передача видимости в другую активность #4
Цитата Сообщение от makfak Посмотреть сообщение
Мне надо,чтобы когда я ставлю в настройках галочку,то на главном экране становилась видимой кнопка.
Сохраняйте состояние чекбокса в SharedPreferences и потом ставьте видимость кнопки исходя из этой найстройки.
Java
1
2
isButtonVisible = preferences.getBoolean("ИМЯ_ПАРАМЕТРА", false);
button.setVisibility(isButtonVisible ? VISIBLE : INVISIBLE);
Как то так.
GbaLog-
Не Эксперт C++
2540 / 1079 / 272
Регистрация: 24.08.2014
Сообщений: 3,958
Записей в блоге: 1
Завершенные тесты: 2
01.10.2014, 12:19  [ТС]     Передача видимости в другую активность #5
Spelcrawler, А подробней можно? Я новичек в сохранении просто)да и вообще новичек,и еще,у меня вместо preferences другая активность,используйте пожалуйста другое имя,например, "Admin".
Spelcrawler
525 / 495 / 111
Регистрация: 12.03.2014
Сообщений: 1,647
Завершенные тесты: 1
01.10.2014, 12:25     Передача видимости в другую активность #6
Что значит "вместо preferences другая активность"?
GbaLog-
Не Эксперт C++
2540 / 1079 / 272
Регистрация: 24.08.2014
Сообщений: 3,958
Записей в блоге: 1
Завершенные тесты: 2
01.10.2014, 12:33  [ТС]     Передача видимости в другую активность #7
Spelcrawler, Ну может я неправильно выразился,просто у меня эта кнопка в другой активности.
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
01.10.2014, 12:36     Передача видимости в другую активность #8
makfak, ваша задача имеет 2 решения: либо сохранение и восстановление через SharedPreferences, либо передача данных через startActivityForResult (например, http://startandroid.ru/ru/uroki/vse-...ivityforresult).
Возможно, есть и другие решения, например, передача данных через глобальные переменные или вызов метода другой формы, но это более плохие решения.
Spelcrawler
525 / 495 / 111
Регистрация: 12.03.2014
Сообщений: 1,647
Завершенные тесты: 1
01.10.2014, 13:27     Передача видимости в другую активность #9
Ладно, не поленюсь напишу код)
В активити настроек, я назову ее ActivityPreferences
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//В теле класса (до onCreate())
    public static final String PREFS = "preferences";
    public static final String BUTTON_VISIBLE = "button_visible";
    SharedPreferences preferences;
    SharedPreferences.Editor editor;
 
//Далее в onCreate()
preferences = getSharedPreferences(PREFS, MODE_PRIVATE);
editor = preferences.edit();
checkBox.setOnClickListener(new View.OnClickListener() {//checkBox, собственно ваш checkBox
            @Override
            public void onClick(View v) {
                editor.putBoolean(BUTTON_VISIBLE, ((CheckBox) v).isChecked());
            }
        });
checkBox.setChecked(preferences.getBoolean(BUTTON_VISIBLE, false));
Теперь в той активити где у вас кнопка (назовем ее ActivityMain)
Java
1
2
3
4
5
6
7
8
//В теле класса
SharedPrederences preferencs;
 
//В onCreate()
preferences = getSharedPreferences(ActivityPreferences.PREFS, MODE_PRIVATE);
 
//В onResume()
button.setVisibility(preferences.getBoolean(ActivityPreferences.BUTTON_VISIBLE, false) ? View.VISIBLE : View.INVISIBLE);//button - ваша кнопка которую нужно делать видимой\не видимой.
GbaLog-
Не Эксперт C++
2540 / 1079 / 272
Регистрация: 24.08.2014
Сообщений: 3,958
Записей в блоге: 1
Завершенные тесты: 2
03.10.2014, 18:11  [ТС]     Передача видимости в другую активность #10
Spelcrawler, Не работает.
Вот как у меня.
Активность из которой видимость включается:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
    public static final String PREFS = "preferences";
    public static final String BUTTON_VISIBLE = "button_visible";
    SharedPreferences preferences;
    SharedPreferences.Editor editor;
 
        preferences = getSharedPreferences(PREFS,MODE_PRIVATE);
        editor = preferences.edit();
        checkBox.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
         if(((CheckBox) v).isChecked()) {
         text.setText("Checked");
         editor.putBoolean(BUTTON_VISIBLE,((CheckBox) v).isChecked());
         }
         else {
         text.setText("No Checked");
//       editor.putBoolean(BUTTON_VISIBLE,!((CheckBox) v).isChecked());
                } 
            }); 
        checkBox.setChecked(preferences.getBoolean(BUTTON_VISIBLE,false));
Вот та,где сама кнопка:
Java
1
2
3
4
5
6
7
8
9
10
SharedPreferences preferences;
 
preferences = getSharedPreferences(AdminActivity.PREFS,MODE_PRIVATE);
 
    @Override
    protected void onResume()
    {
        super.onResume();
        wish.setVisibility(preferences.getBoolean(AdminActivity.BUTTON_VISIBLE, false) ? View.VISIBLE : View.INVISIBLE );
    }
Spelcrawler
525 / 495 / 111
Регистрация: 12.03.2014
Сообщений: 1,647
Завершенные тесты: 1
03.10.2014, 18:14     Передача видимости в другую активность #11
Да, тас где editor.putBoolean... , на следующей строке добавьте
Java
1
editor.apply();
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.10.2014, 19:53     Передача видимости в другую активность
Еще ссылки по теме:

Android Долго открывается активность
Передача переменной в другую Activity Android
Удалить активность из стека Android
Передача данных в другую Activity Android
Android Активность восстанавливается в изнасилованном виде

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

Или воспользуйтесь поиском по форуму:
GbaLog-
Не Эксперт C++
2540 / 1079 / 272
Регистрация: 24.08.2014
Сообщений: 3,958
Записей в блоге: 1
Завершенные тесты: 2
03.10.2014, 19:53  [ТС]     Передача видимости в другую активность #12
Spelcrawler, Спасибо,все заработало.
Yandex
Объявления
03.10.2014, 19:53     Передача видимости в другую активность
Ответ Создать тему
Опции темы

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