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

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

Войти
Регистрация
Восстановить пароль
 
GbaLog-
Любитель чаепитий
2768 / 1290 / 311
Регистрация: 24.08.2014
Сообщений: 4,570
Записей в блоге: 1
Завершенные тесты: 2
#1

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

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

Допустим у меня на главном экране,есть некая невидимая кнопка,которую можно сделать видимой в настройках,как это реализовать?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2014, 21:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Передача видимости в другую активность (Программирование Android):

Переход на другую активность - Программирование Android
Как правильно прописать переход на другую активность т.е. после нажатия на соц сети открывалась новая активность? public class...

Переход с ListActivity на другую активность - Программирование Android
Ребят подскажите есть ListActivity в нем список, как сделать что бы при нажатию на определенные строки списка он переходил на другую...

Переход на другую активность с сохранением состояния главной - Программирование Android
Доброго времени суток всем. Я в программировании под андроид (да и в джаве вцелом) новичок, поэтому вопрос возможно будет глупым,...

Передача данных в другую Activity - Программирование Android
добрый день, подскажите пожалуйста, в одном активити я получаю значение от пользователя в editText, и мне это значение нужно передать в...

Передача cookie в другую Activity - Программирование Android
Делаю пост запрос на сервер (авторизация) Сохраняю куки: List<Cookie> CCookies; ..... HttpResponse response =...

Передача переменной в другую Activity - Программирование Android
package start.project123; import android.app.Activity; import android.content.Intent; import android.content.res.Resources; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
kirawa
33 / 33 / 1
Регистрация: 12.11.2013
Сообщений: 336
01.10.2014, 07:59 #2
button.setVisibility(View.VISIBLE);
0
GbaLog-
Любитель чаепитий
2768 / 1290 / 311
Регистрация: 24.08.2014
Сообщений: 4,570
Записей в блоге: 1
Завершенные тесты: 2
01.10.2014, 10:52  [ТС] #3
kirawa, -_- Ты думаешь я этого не пробовал?Ошибку выдает.

Добавлено через 1 минуту
Мне надо,чтобы когда я ставлю в настройках галочку,то на главном экране становилась видимой кнопка.
0
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
01.10.2014, 11:32 #4
Цитата Сообщение от makfak Посмотреть сообщение
Мне надо,чтобы когда я ставлю в настройках галочку,то на главном экране становилась видимой кнопка.
Сохраняйте состояние чекбокса в SharedPreferences и потом ставьте видимость кнопки исходя из этой найстройки.
Java
1
2
isButtonVisible = preferences.getBoolean("ИМЯ_ПАРАМЕТРА", false);
button.setVisibility(isButtonVisible ? VISIBLE : INVISIBLE);
Как то так.
0
GbaLog-
Любитель чаепитий
2768 / 1290 / 311
Регистрация: 24.08.2014
Сообщений: 4,570
Записей в блоге: 1
Завершенные тесты: 2
01.10.2014, 12:19  [ТС] #5
Spelcrawler, А подробней можно? Я новичек в сохранении просто)да и вообще новичек,и еще,у меня вместо preferences другая активность,используйте пожалуйста другое имя,например, "Admin".
0
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
01.10.2014, 12:25 #6
Что значит "вместо preferences другая активность"?
0
GbaLog-
Любитель чаепитий
2768 / 1290 / 311
Регистрация: 24.08.2014
Сообщений: 4,570
Записей в блоге: 1
Завершенные тесты: 2
01.10.2014, 12:33  [ТС] #7
Spelcrawler, Ну может я неправильно выразился,просто у меня эта кнопка в другой активности.
0
CoolMind
419 / 402 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
01.10.2014, 12:36 #8
makfak, ваша задача имеет 2 решения: либо сохранение и восстановление через SharedPreferences, либо передача данных через startActivityForResult (например, http://startandroid.ru/ru/uroki/vse-...ivityforresult).
Возможно, есть и другие решения, например, передача данных через глобальные переменные или вызов метода другой формы, но это более плохие решения.
0
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 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 - ваша кнопка которую нужно делать видимой\не видимой.
0
GbaLog-
Любитель чаепитий
2768 / 1290 / 311
Регистрация: 24.08.2014
Сообщений: 4,570
Записей в блоге: 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 );
    }
0
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
03.10.2014, 18:14 #11
Да, тас где editor.putBoolean... , на следующей строке добавьте
Java
1
editor.apply();
1
GbaLog-
Любитель чаепитий
2768 / 1290 / 311
Регистрация: 24.08.2014
Сообщений: 4,570
Записей в блоге: 1
Завершенные тесты: 2
03.10.2014, 19:53  [ТС] #12
Spelcrawler, Спасибо,все заработало.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.10.2014, 19:53
Привет! Вот еще темы с ответами:

Не создается активность - Программирование Android
Создал первое приложение, запустил, экспортировал, все работает. Когда создаю второй но создается Активность, при создании Android...

Удалить активность из стека - Программирование Android
Каким способом можно из стека 4 активностей удалить любую одну (к примеру 2-ую). Может каким то образом можно достучаться до стека и...

Долго открывается активность - Программирование Android
Здравствуйте форумчане. В моем приложении открывается главная активность, все ок, по нажатию на картинку, которая представляет собой кнопку...

Не открывается активность с ListView - Программирование Android
Делаю модуль заметок. При открытии активности (activity) приложение считывает файл заметок и разбивает его на записи. При каждом разбитии...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.10.2014, 19:53
Ответ Создать тему
Опции темы

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