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

ActionBarSherlock нажатие на submenu item - Android

Восстановить пароль Регистрация
 
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 647
17.07.2013, 00:59     ActionBarSherlock нажатие на submenu item #1
У меня есть субменю
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@Override
      public boolean onCreateOptionsMenu(Menu menu) {
 
          
          SubMenu sub = menu.addSubMenu(0, Menu.FIRST, Menu.NONE, "Меню");
          sub.add(0, Menu.FIRST, 1, "Pref");
          sub.add(0, Menu.FIRST, 2, "About");
          sub.getItem().setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
          
          return true;
      }
@Override
      public boolean onOptionsItemSelected(MenuItem item) {
}

Так вот как проследить или повесить нажатие на конкретный пункт подменю ( sub.add(0, Menu.FIRST, 1, "Pref"); и sub.add(0, Menu.FIRST, 2, "About") ? Узнать что нажал пользователь
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
17.07.2013, 01:12     ActionBarSherlock нажатие на submenu item #2
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
25
26
private static final int PREF = 0;
private static final int ABOUT= 1;
@Override
      public boolean onCreateOptionsMenu(Menu menu) {
 
          
          SubMenu sub = menu.addSubMenu(0, Menu.FIRST, Menu.NONE, "Меню");
          sub.add(0, PREF , 1, "Pref");
          sub.add(0, ABOUT, 2, "About");
          sub.getItem().setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
          
          return true;
      }
@Override
      public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case PREF :
            //do something
            return true;
        case ABOUT:
             //do something
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 647
17.07.2013, 01:19  [ТС]     ActionBarSherlock нажатие на submenu item #3
Я когда нажимаю на
Java
1
SubMenu sub = menu.addSubMenu(0, Menu.FIRST, Menu.NONE, "Меню");
у меня срабатывает, то что в
Java
1
2
3
case ABOUT:
             //do something
            return true;
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
17.07.2013, 01:27     ActionBarSherlock нажатие на submenu item #4
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
25
26
27
28
29
30
private static final int MENU = 0;
private static final int PREF = 1;
private static final int ABOUT= 2;
@Override
      public boolean onCreateOptionsMenu(Menu menu) {
 
          
          SubMenu sub = menu.addSubMenu(0, MENU , Menu.NONE, "Меню");
          sub.add(0, PREF , 1, "Pref");
          sub.add(0, ABOUT, 2, "About");
          sub.getItem().setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
          
          return true;
      }
@Override
      public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case MENU:
            //do something
            return true;
        case PREF :
            //do something
            return true;
        case ABOUT:
             //do something
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 647
17.07.2013, 01:47  [ТС]     ActionBarSherlock нажатие на submenu item #5
Теперь нажимаю
Java
1
SubMenu sub = menu.addSubMenu(0, MENU , Menu.NONE, "Меню");
происходит
Java
1
2
case PREF :
            //do something
Рядом у меня есть такое же меню как и
Java
1
SubMenu sub = menu.addSubMenu(0, MENU , Menu.NONE, "Меню");
, когда нажимаю на него, происходит
Java
1
2
3
case ABOUT:
             //do something
            return true;
Добавлено через 9 минут
Извините, не досмотрел в
Java
1
SubMenu sub = menu.addSubMenu(0, MENU , Menu.NONE, "Меню");
, что там MENU, всё работает как нужно. Но есть ещё момент. У меня там рядом есть ещё одно меню
Java
1
2
3
4
SubMenu sub_vid = menu.addSubMenu(0, Menu.FIRST, Menu.NONE, "Number");
          sub_vid.getItem().setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
          sub_vid.add(0, Menu.FIRST, 1, "One");
          sub_vid.add(0, Menu.FIRST, 2, "Two");
Эти два меню находятся в одном
Java
1
2
3
@Override
      public boolean onCreateOptionsMenu(Menu menu) {
}
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
17.07.2013, 01:47     ActionBarSherlock нажатие на submenu item #6
попробуйте по этому примеру сделать
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
public class Main extends Activity {
 
    private static final int FILE = 0;
    private static final int EDIT = 1;
 
    private static final int NEW_MENU_ITEM = Menu.FIRST;
    private static final int SAVE_MENU_ITEM = NEW_MENU_ITEM + 1;
 
    private static final int UNDO_MENU_ITEM = SAVE_MENU_ITEM + 1;
    private static final int REDO_MENU_ITEM = UNDO_MENU_ITEM + 1;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        SubMenu fileMenu = menu.addSubMenu("File");
        SubMenu editMenu = menu.addSubMenu("Edit");
        fileMenu.add(FILE, NEW_MENU_ITEM, 0, "new");
        fileMenu.add(FILE, SAVE_MENU_ITEM, 1, "save");
        editMenu.add(EDIT, UNDO_MENU_ITEM, 0, "undo");
        editMenu.add(EDIT, REDO_MENU_ITEM, 1, "redo");
        return super.onCreateOptionsMenu(menu);
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case NEW_MENU_ITEM:
            showMsg("New");
            break;
        case SAVE_MENU_ITEM:
            showMsg("Save");
            break;
        case UNDO_MENU_ITEM:
            showMsg("Undo");
            break;
        case REDO_MENU_ITEM:
            showMsg("Redo");
            break;
        }
        return super.onOptionsItemSelected(item);
    }
 
    private void showMsg(String message) {
        Toast msg = Toast.makeText(Main.this, message, Toast.LENGTH_LONG);
        msg.setGravity(Gravity.CENTER, msg.getXOffset() / 2,
                msg.getYOffset() / 2);
        msg.show();
    }
}
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 647
17.07.2013, 01:50  [ТС]     ActionBarSherlock нажатие на submenu item #7
Цитата Сообщение от V0v1k Посмотреть сообщение
попробуйте по этому примеру сделать
Это пробовать если 2 меню в одном public boolean onCreateOptionsMenu(Menu menu) ? Или это решение моего вопроса в заголовке?
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
17.07.2013, 01:54     ActionBarSherlock нажатие на submenu item #8
та вроде и то и то)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2013, 02:25     ActionBarSherlock нажатие на submenu item
Еще ссылки по теме:

ActionBarSherlock + ViewPagerIndicator Android
Custom ListView item setColor Android
Почему у меня не добавляются <item> ? Android
Изменить Title item menu Android
Android ExpandableListView настройка item

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

Или воспользуйтесь поиском по форуму:
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 647
17.07.2013, 02:25  [ТС]     ActionBarSherlock нажатие на submenu item #9
Всё работает только к
Java
1
SubMenu fileMenu = menu.addSubMenu("File");
добавил
Java
1
2
MenuItem subMenu3Item =  fileMenu.getItem();
            subMenu3Item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
чтобы меню было в ЭкшнБаре. Спасибо огромное
Yandex
Объявления
17.07.2013, 02:25     ActionBarSherlock нажатие на submenu item
Ответ Создать тему
Опции темы

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