Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Shamsik
-42 / 17 / 15
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
Завершенные тесты: 2
1

Drawer Navigation and MenuItem

10.04.2016, 20:33. Просмотров 422. Ответов 1
Метки нет (Все метки)

Добрый вечер.

Вот такая проблема возникла.

Вот в MainActivity есть Выдвижное меню(Drawer Navigation) и правое дополнительное меню который привязан ко всем последующим фрагментам по которым переходят в навигации.

Вот как сделать к примеру если он к примеру перешел на первую страницу чтобы правое меню не показывалось есть на второе чтобы отображал.


Кликните здесь для просмотра всего текста

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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
viewsNames = getResources().getStringArray(R.array.views_array);
        myDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
        myDrawerList = (ListView) findViewById(R.id.left_drawer);
 
        myDrawerList.setAdapter(new ArrayAdapter<String>(this,
                R.layout.drawer_list_item, viewsNames));
 
 
        android.support.v7.app.ActionBar actionBar = getSupportActionBar();
        actionBar.setDisplayHomeAsUpEnabled(true);
 
        myDrawerToggle = new ActionBarDrawerToggle(this, myDrawerLayout,
                R.string.open_menu,
                R.string.close_menu
        ) {
            public void onDrawerClosed(View view) {
 
                getSupportActionBar().setTitle(myTitle);
 
                // calling onPrepareOptionsMenu() to show action bar icons
                invalidateOptionsMenu();
            }
 
            public void onDrawerOpened(View drawerView) {
                getSupportActionBar().setTitle(myDrawerTitle);
                // calling onPrepareOptionsMenu() to hide action bar icons
                invalidateOptionsMenu();
            }
        };
        myDrawerLayout.setDrawerListener(myDrawerToggle);
 
        if (savedInstanceState == null) {
            // on first time display view for first nav item
            displayView(0);
        }
 
        myDrawerList.setOnItemClickListener(new DrawerItemClickListener());
    }
 
    private class DrawerItemClickListener implements ListView.OnItemClickListener {
        @Override
        public void onItemClick(
                AdapterView<?> parent, View view, int position, long id
        ) {
            // display view for selected nav drawer item
            displayView(position);
        }
    }
 
    private void displayView(int position) {
        // update the main content by replacing fragments
        Fragment fragment = null;
        switch (position) {
            case 0:
                fragment = new FirstFragment();
                break;
            case 1:
                fragment = new SecondFragment();
                break;
            case 2:
                fragment = new ThirdFragment();
                break;
            case 3:
                fragment = new ModFragment();
                break;
            case 4:
                fragment = new PanelFragment();
              break;
            case 5:
                fragment = new TestFragment();
                break;
            case 6:
                fragment = new PriceFragment();
                break;
            case 7:
                fragment = new AboutFragment();
                break;
 
            default:
 
                break;
        }
 
        if (fragment != null) {
            android.app.FragmentManager fragmentManager = getFragmentManager();
            fragmentManager.beginTransaction()
                    .replace(R.id.content_frame, fragment).commit();
 
            // update selected item and title, then close the drawer
            myDrawerList.setItemChecked(position, true);
            myDrawerList.setSelection(position);
            setTitle(viewsNames[position]);
            myDrawerLayout.closeDrawer(myDrawerList);
 
        } else {
            // error in creating fragment
            Log.e("MainActivity", "Error in creating fragment");
        }
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // toggle nav drawer on selecting action bar app icon/title
        if (myDrawerToggle.onOptionsItemSelected(item)) {
            return true;
        }
        // Handle action bar actions click
        switch (item.getItemId()) {
          /*  case R.id.action_settings:
 
                break;*/
 
                case R.id.auth:
                    Intent i = new Intent(this, Profile.class);
                    startActivity(i);
                    break;
 
            default:
 
                break;
 
        }
 
        return super.onOptionsItemSelected(item);
    }
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2016, 20:33
Ответы с готовыми решениями:

Navigation Drawer
помогите найти ошибку. код главного активити package ua.com.cls; import...

Navigation drawer
Как так подключить navigation drawer чтобы он был доступен не в одном а во всех или в нескольких...

Navigation Drawer
Всем привет. Подскажите в чем может быть проблема. Создал Navigation Drawer по этому примеру....

Navigation drawer
Скажите, как сделать так чтобы при открытии другого activity, navigation drawer можно было так же...

Navigation Drawer
Пытаюсь разобраться с Navigation Drawer. Делаю по гайду...

1
OlegJV
104 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 474
11.04.2016, 07:47 2
Цитата Сообщение от Shamsik Посмотреть сообщение
он к примеру перешел на первую страницу чтобы правое меню не показывалось есть на второе чтобы отображал.
Кто он, что значит "есть на второе", чтобы отображал что именно? Так задать вопрос - талант нужно иметь.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2016, 07:47

Navigation Drawer не работает
только начал программировать. делал navigation draver по инструкции на хабре. при запуске...

Navigation Drawer - ошибка
Возникает ошибка при установке drawerListener public class MainActivity extends Activity {...

Стилизация Navigation Drawer
Приложение вылетает при открытии, если применяю свой xml-файл для стилизации. Пробую стандартный...


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

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

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