Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
1

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

29.04.2014, 18:04. Просмотров 524. Ответов 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, "Три");
пробовал так, но без результатно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2014, 18:04
Ответы с готовыми решениями:

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

OTTO - EventBus. Не получается реализовать отправку, по нажатию кнопок, текста из одного фрагмента в другой
В первом фрагменте есть две кнопки. Первая отправляет текст " Здравствуйте!". Вторая " пока " .В...

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

Bundle savedInstanceState для фрагмента вызывает ошибку
Пытаюсь сохранить состояние фрагмента при повороте экрана. Не пойму в чем моя ошибка, поиск в сети...

Метод фрагмента onResume() перестает вызываться после вызова метода recreate() для Activity
Такая проблема:после вызова метода recreate() методы фрагментов onCreate() and onCreateView()...

5
NiRamz
211 / 211 / 33
Регистрация: 26.12.2010
Сообщений: 691
29.04.2014, 18:10 2
Цитата Сообщение от KillAndEat Посмотреть сообщение
if (!(temp==null)&&!(temp1==null))
а это что за дьявольская конструкция? проверка на null?
temp != null
0
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
29.04.2014, 18:46  [ТС] 3
NiRamz, если обе переменные не равны нулю, то воткнуть новый пункт меню.Но это к теме не относится. Интересует как его собственно воткнуть
0
NiRamz
211 / 211 / 33
Регистрация: 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("Три");
как то так должно отработать, смотря что в преференсы вы сохраняете.
0
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
29.04.2014, 19:07  [ТС] 5
NiRamz, условие не имеет значения(ваше тоже не работает ибо оно такое же как у меня) Проблема в том, что метод создающий меню onCreateOptionsMenu вызывается только при создании фрагмента. Вопрос в том можно ли меню обновить откуда нибудь.
0
NiRamz
211 / 211 / 33
Регистрация: 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 создаем
0
29.04.2014, 19:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.04.2014, 19:12

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

Убрать контекстные меню
Лепим свой дистрибутив на основе убунту 10.10 с KDE... есть необходимость убить контекстные меню в...

Контекстные меню и VBA
DoCmd. как выяснилось, не катит... Но ведь должен же быть способ программирования контекстных меню...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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