С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

29.04.2014, 18:04. Просмотров 497. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Различные контекстные меню для одного фрагмента (Программирование Android):

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

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

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

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

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

Убрать контекстные меню - Ubuntu Linux
Лепим свой дистрибутив на основе убунту 10.10 с KDE... есть необходимость убить контекстные меню в текстовом поле (копировать, вставить...)...

5
NiRamz
211 / 211 / 16
Регистрация: 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 / 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("Три");
как то так должно отработать, смотря что в преференсы вы сохраняете.
0
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
29.04.2014, 19:07  [ТС] #5
NiRamz, условие не имеет значения(ваше тоже не работает ибо оно такое же как у меня) Проблема в том, что метод создающий меню onCreateOptionsMenu вызывается только при создании фрагмента. Вопрос в том можно ли меню обновить откуда нибудь.
0
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 создаем
0
29.04.2014, 19:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.04.2014, 19:12
Привет! Вот еще темы с ответами:

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

Кто-нибудь создавал контекстные меню в Access? - MS Access
Привет! Может, кто-нибудь подскажет, как можно создать пользовательскую строку в контекстном меню Access-97? Если, конечно, это возможно

Различные наборы графики для одного приложения - Windows Phone
Добрый день! Никогда не разрабатывал под Windows Phone, но тут довелось. И столкнулся с непониманием одной вещи. Есть одно приложение. Для...

Пакетный файл для выбора из меню на запуск одного из нескольких редакторов для редактирования требуемого файла - CMD/BAT
Разработать пакетный файл для выбора из меню на запуск одного из нескольких редакторов (notepad, ncedit и др.) для редактирования...


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

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

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