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

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

Войти
Регистрация
Восстановить пароль
 
ILNAR_93
Android
234 / 234 / 25
Регистрация: 19.01.2013
Сообщений: 1,765
Записей в блоге: 3
#1

По нажатию не открывается МЕНЮ - Программирование Android

28.08.2015, 13:30. Просмотров 525. Ответов 5
Метки нет (Все метки)

Почему может не срабатывает openOptionsMenu ?

А кнопка "меню" устройства работает...

Кликните здесь для просмотра всего текста
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
package sлджтл;
 
import android.app.Activity;
import android.content.Context;
import android.content.pm.FeatureInfo;
import android.os.Bundle;
import android.support.annotation.MenuRes;
import android.support.v4.app.FragmentManager;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
 
 
 
public class MainActivity extends AppCompatActivity
        implements NavigationDrawerFragment.NavigationDrawerCallbacks {
 
    /**
     * Fragment managing the behaviors, interactions and presentation of the navigation drawer.
     */
    private NavigationDrawerFragment mNavigationDrawerFragment;
    FragmentManager fragmentManager;
    /**
     * Used to store the last screen title. For use in {@link #restoreActionBar()}.
     */
    private CharSequence mTitle;
    public Menu mMenu;
    private GetmessageAt GetmessageAt_;
    private GlobalClass GlobalClasses;
    private Context ctx;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ctx = this;
        GlobalClasses = ((GlobalClass) GlobalClass.GetMyApplication());
        mNavigationDrawerFragment = (NavigationDrawerFragment)
                getSupportFragmentManager().findFragmentById(R.id.navigation_drawer);
        mTitle = getTitle();
 
        // Set up the drawer.
        mNavigationDrawerFragment.setUp(
                R.id.navigation_drawer,
                (DrawerLayout) findViewById(R.id.drawer_layout));
 
    }
 
    @Override
    public void onNavigationDrawerItemSelected(final int position) {
        // update the main content by replacing fragments
   fragmentManager = getSupportFragmentManager();
///...
///...
///...
///...
 
  }
 
 
 
    public void restoreActionBar() {
        ActionBar actionBar = getSupportActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
        actionBar.setDisplayShowTitleEnabled(true);
        actionBar.setTitle(mTitle);
    }
 
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        if (!mNavigationDrawerFragment.isDrawerOpen()) {
            // Only show items in the action bar relevant to this screen
            // if the drawer is not showing. Otherwise, let the drawer
            // decide what to show in the action bar.
            getMenuInflater().inflate(R.menu.main, menu);
            restoreActionBar();
            mMenu = menu;
            return true;
        }
 
 
        return super.onCreateOptionsMenu(menu);
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
 
 
        if (id ==R.id.MenuIcon){
            Log.i("MyLogIlnar", "OpenMenu");         
          ((AppCompatActivity) MainActivity.this).openOptionsMenu(); // не работает
            return true;
        }
 
   
        return super.onOptionsItemSelected(item);
    }
 
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.08.2015, 13:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос По нажатию не открывается МЕНЮ (Программирование Android):

Меню только по нажатию кнопки меню - Программирование Android
Нужно создать в приложении меню. Но так, чтобы оно всплывало только по нажатию кнопки меню на девайсе а не еще и в Action Barе приложения(...

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

Открывается окно с рекламой по нажатию мышкой в браузере - Удаление вирусов
После поиска каких-то кряков появилась проблема в Опере (в других браузерах не проверяла). В процессе использования браузера появляется...

Раздвигание меню по нажатию - HTML, CSS
Всем привет. Есть достаточна примитивный шаблон на joomla 1.0.13, руководство поручило перенести сайт на новый движок,( думаю это будет...

.NET 4.x Вызов меню по нажатию ПКМ - Visual Basic .NET
Как выйзвать меню по нажатию правой кнопки мыши на форме?

Вывести текст по нажатию на пункт меню - C++ WinAPI
Обрабатываю пункт меню и пытаюсь вывести текст, но ничего не выводится Такой же код при обработке WM_PAINT работает. Как можно...

5
Pablito
2534 / 2013 / 627
Регистрация: 12.05.2014
Сообщений: 7,067
Завершенные тесты: 1
28.08.2015, 13:34 #2
А какое отношение Drawer имеет к тому меню что должно открываться?
В тулбаре справа - одно меню, в дравере - совсем другое.
0
ILNAR_93
Android
234 / 234 / 25
Регистрация: 19.01.2013
Сообщений: 1,765
Записей в блоге: 3
28.08.2015, 13:59  [ТС] #3
Паблито,
Не совсем понял

Вы на счет бокового меню? - я не его пытаюсь открыть, а меню которое res -> menu (Menu.java)
0
Pablito
2534 / 2013 / 627
Регистрация: 12.05.2014
Сообщений: 7,067
Завершенные тесты: 1
28.08.2015, 14:11 #4
сначала надо проверить, выполняется ли вообще это условие
Java
1
if (!mNavigationDrawerFragment.isDrawerOpen())
вообще это извращение, спрашивать у фрагмента - не открыт ли дровер, в то время когда у самого дроверя есть соответствующий метод

еще вопрос к чему этот вызов restoreActionBar() ? из onOptionsItemSelected - непонятно и ни к месту

это условие
Java
1
2
3
4
5
if (id ==R.id.MenuIcon){
            Log.i("MyLogIlnar", "OpenMenu");         
          ((AppCompatActivity) MainActivity.this).openOptionsMenu(); // не работает
            return true;
        }
вообще полный бред, что мы делаем? нажатие на что проверяем и что открываем? меню само открывается, без единой строчки кода
0
ILNAR_93
Android
234 / 234 / 25
Регистрация: 19.01.2013
Сообщений: 1,765
Записей в блоге: 3
28.08.2015, 14:35  [ТС] #5
Цитата Сообщение от Паблито Посмотреть сообщение
вообще это извращение, спрашивать у фрагмента
Ну это надо разработчикам Android Studio говорить Это как бы автоматически генерируется

Цитата Сообщение от Паблито Посмотреть сообщение
еще вопрос к чему этот вызов restoreActionBar()
опять таки авто генерация этого кода


Цитата Сообщение от Паблито Посмотреть сообщение
вообще полный бред, что мы делаем? нажатие на что проверяем и что открываем?
Зачем бред? проверяем т.к. там несколько возможных ID.

Цитата Сообщение от Паблито Посмотреть сообщение
меню само открывается, без единой строчки кода
если нажать на кнопку на самом устройстве.
http://sbm.1c.ru/upload/medialibrary...f9393f4b2f.png


p.s.

Как я понял openOptionsMenu не выполняется если Активность наследуется от AppCompatActivity.
Если наследовать от Activity то openOptionsMenu открывает Menu
0
Pablito
2534 / 2013 / 627
Регистрация: 12.05.2014
Сообщений: 7,067
Завершенные тесты: 1
28.08.2015, 14:43 #6
я уверен, половина проблем уйдет сразу если переделать все на Toobar, вместо ActionBar
сейчас вызываются какие-то странные методы в странной последовательности и автогенерируется странный и лишний код
1
28.08.2015, 14:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.08.2015, 14:43
Привет! Вот еще темы с ответами:

Блокировка меню по нажатию правой кнопки - C#
Здравствуйте, Есть несколько Комбо боксов и текстбоксов, в которых надо запретить либо вообще ввод данных, либо ограничить вводимые данные....

Выплывающее меню по нажатию кнопки (popover?) - Swift
Добрый день! Изучаю свифт, сейчас столкнулся с проблемой, по кнопке выбора фото хочу сделать всплывающее окно с выбором фото (сделать...

не открывается меню - C++/CLI WinForms
помогите мне почеу то нажимаю выход не выход с проги нажимаю открыть фаил не открывает фаил

TreeView и всплывающее меню по нажатию ПКМ по элементу - C#
У меня в treeView есть набор элементов. Возможно ли такое, что по нажатию ПКМ на элемент treeView, на этому элементе возникло доп.меню...


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

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

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