Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
ILNAR_93
Android
236 / 236 / 49
Регистрация: 19.01.2013
Сообщений: 1,848
Записей в блоге: 3
#1

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

28.08.2015, 13:30. Просмотров 659. Ответов 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):

Меню только по нажатию кнопки меню
Нужно создать в приложении меню. Но так, чтобы оно всплывало только по нажатию...

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

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

Меню по нажатию button
Как сделать что бы по нажатию на button появлялся список или меню? Пример на...

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

Вызов меню по нажатию ПКМ
Как выйзвать меню по нажатию правой кнопки мыши на форме?

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

Вы на счет бокового меню? - я не его пытаюсь открыть, а меню которое res -> menu (Menu.java)
0
Pablito
2644 / 2126 / 725
Регистрация: 12.05.2014
Сообщений: 7,432
Завершенные тесты: 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
236 / 236 / 49
Регистрация: 19.01.2013
Сообщений: 1,848
Записей в блоге: 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
2644 / 2126 / 725
Регистрация: 12.05.2014
Сообщений: 7,432
Завершенные тесты: 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
Привет! Вот еще темы с решениями:

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

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

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

не открывается меню
помогите мне почеу то нажимаю выход не выход с проги нажимаю открыть фаил не...


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

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

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