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

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

Войти
Регистрация
Восстановить пароль
 
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
#1

Различные контекстные меню для одного фрагмента - Программирование Android

29.04.2014, 18:04. Просмотров 477. Ответов 5
Метки нет (Все метки)

Сабж. Допустим изначально зарегистрировано 5 пунктов контекстного меню, но если пользователь поставит определенный пункст в настройках их должно сие 4. Как сие реализовать?

Java
1
2
3
4
5
6
7
8
9
10
11
SharedPreferences preferences = getActivity().getPreferences(
                getActivity().MODE_PRIVATE);
String temp = preferences.getString(Constants.PREFERENCES_KEY_1,
    null);
String temp1 = preferences.getString(Constants.PREFERENCES_KEY_2,
        null);
if (!(temp==null)&&!(temp1==null)){
  menu.add(0, 1, 1, "Один");
  }
menu.add(0, 2, 6, "Два");
menu.add(0, 3, 2, "Три");
пробовал так, но без результатно
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2014, 18:04     Различные контекстные меню для одного фрагмента
Посмотрите здесь:

Как реализовать передачу массива из одного фрагмента в другой - Программирование Android
Здравствуйте, как реализовать передачу массива из одного фрагмента в другой?

Повторное создание фрагмента внутри фрагмента ViewPager - Программирование Android
Доброго времени суток! Использую внутри фрагмента элемент ViewPager, который сам внутри содержит еще два фрагмента-вкладки. При первом...

Метод фрагмента onResume() перестает вызываться после вызова метода recreate() для Activity - Программирование Android
Такая проблема:после вызова метода recreate() методы фрагментов onCreate() and onCreateView() вызываются, а он Resume() - нет! Но если...

Google maps метод поиска фрагмента карт на разметке для разных версий андроид - Программирование Android
Столкнулся с такой проблемой. в андройде 6 работает один метод поиска фрагмента карт на разметке а в 5 и ранее - другой. //api 21+ ...

Действующая сессия для одного пользователя - Программирование Android
Необходимо обезопасить приложение следующим образом, организовать запрет на вхождение с одного и того же логина и пароля двумя...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
29.04.2014, 18:10     Различные контекстные меню для одного фрагмента #2
Цитата Сообщение от KillAndEat Посмотреть сообщение
if (!(temp==null)&&!(temp1==null))
а это что за дьявольская конструкция? проверка на null?
temp != null
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
29.04.2014, 18:46  [ТС]     Различные контекстные меню для одного фрагмента #3
NiRamz, если обе переменные не равны нулю, то воткнуть новый пункт меню.Но это к теме не относится. Интересует как его собственно воткнуть
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
29.04.2014, 18:50     Различные контекстные меню для одного фрагмента #4
Цитата Сообщение от KillAndEat Посмотреть сообщение
SharedPreferences preferences = getActivity().getPreferences(
* * * * * * * * getActivity().MODE_PRIVATE);
String temp = preferences.getString(Constants.PREFERENCES_KEY_1,
* * null);
String temp1 = preferences.getString(Constants.PREFERENCES_KEY_2,
* * * * null);
if (temp!=null && temp1!=null){
* menu.add("Один");
* }
menu.add("Два");
menu.add("Три");
как то так должно отработать, смотря что в преференсы вы сохраняете.
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
29.04.2014, 19:07  [ТС]     Различные контекстные меню для одного фрагмента #5
NiRamz, условие не имеет значения(ваше тоже не работает ибо оно такое же как у меня) Проблема в том, что метод создающий меню onCreateOptionsMenu вызывается только при создании фрагмента. Вопрос в том можно ли меню обновить откуда нибудь.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.04.2014, 19:12     Различные контекстные меню для одного фрагмента
Еще ссылки по теме:

In-app billing - для одного девайса или нескольких? - Программирование Android
Такой вопрос, например, в приложении реализована функция in-app billing, при покупке открывается доступ к остальной части приложения. В...

Смена фрагмента в контейнере - Программирование Android
Всем доброго вечера! Проблема такая - есть Navigation Draver, по кликам в котором я хочу менять содержимое контейнера, т.е. реплейсить...

Доступ к виджету фрагмента - Программирование Android
Пытаюсь добавить фрагмент в контейнер и получить доступ к его кнопке frag1 = new Fragment1(); getSupportFragmentManager() ...

Реализация фрагмента кода - Программирование Android
Народ накидайте код в пару строк, реализовать не пойму как, Timer не хочет чет меня вообще слушаться - Нужен код который будет высчитывать...

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

Запуск активности из фрагмента - Программирование Android
Доброго всем. Возникла такая проблема, для запуска активности хоста из фрагмента по нажатию кнопки(mPlayButton), использую...


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

Или воспользуйтесь поиском по форуму:
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
29.04.2014, 19:12     Различные контекстные меню для одного фрагмента #6
Скопировано из Activity класса.

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
/**
     * Prepare the Screen's standard options menu to be displayed.  This is
     * called right before the menu is shown, every time it is shown.  You can
     * use this method to efficiently enable/disable items or otherwise
     * dynamically modify the contents.
     * 
     * <p>The default implementation updates the system menu items based on the
     * activity's state.  Deriving classes should always call through to the
     * base class implementation.
     * 
     * @param menu The options menu as last shown or first initialized by
     *             onCreateOptionsMenu().
     * 
     * @return You must return true for the menu to be displayed;
     *         if you return false it will not be shown.
     * 
     * @see #onCreateOptionsMenu
     */
    public boolean onPrepareOptionsMenu(Menu menu) {
        if (mParent != null) {
            return mParent.onPrepareOptionsMenu(menu);
        }
        return true;
    }
Добавлено через 1 минуту
и если внимательно прочитать документацию, то станет понятно, что в prepare мы меняем меню, а в create создаем
Yandex
Объявления
29.04.2014, 19:12     Различные контекстные меню для одного фрагмента
Ответ Создать тему
Опции темы

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