Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
apel70
5 / 6 / 0
Регистрация: 27.08.2015
Сообщений: 78
1

Navigation Drawer

27.08.2015, 07:47. Просмотров 699. Ответов 8
Метки нет (Все метки)

Всем привет. Подскажите в чем может быть проблема. Создал Navigation Drawer по этому примеру. http://habrahabr.ru/post/250765/ добавил туда фрагментов. Трудность в том что, при смене фрагментов в toolbar не отображаются название фрагментов. Как можно исправить?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.08.2015, 07:47
Ответы с готовыми решениями:

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

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

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

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

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

8
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,074
27.08.2015, 07:58 2
setTitle("Имя");
0
apel70
5 / 6 / 0
Регистрация: 27.08.2015
Сообщений: 78
27.08.2015, 08:18  [ТС] 3
Спасибо за ответ. но то то и оно, что не работает.
0
Pablito
2767 / 2198 / 744
Регистрация: 12.05.2014
Сообщений: 7,718
Завершенные тесты: 1
27.08.2015, 08:39 4
код будет или надо угадывать?
0
apel70
5 / 6 / 0
Регистрация: 27.08.2015
Сообщений: 78
27.08.2015, 08:41  [ТС] 5
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
133
134
135
136
137
138
139
140
141
142
143
144
package ru.x_num.lifehacksmagazine;
 
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Toast;
 
import com.mikepenz.materialdrawer.Drawer;
import com.mikepenz.materialdrawer.model.DividerDrawerItem;
import com.mikepenz.materialdrawer.model.PrimaryDrawerItem;
import com.mikepenz.materialdrawer.model.SectionDrawerItem;
import com.mikepenz.materialdrawer.model.interfaces.IDrawerItem;
import com.mikepenz.materialdrawer.model.interfaces.Nameable;
 
import ru.x_num.lifehacksmagazine.Fragment.BestWeek;
import ru.x_num.lifehacksmagazine.Fragment.Dosug;
import ru.x_num.lifehacksmagazine.Fragment.Eco;
import ru.x_num.lifehacksmagazine.Fragment.Hitech;
import ru.x_num.lifehacksmagazine.Fragment.Home;
import ru.x_num.lifehacksmagazine.Fragment.Man;
import ru.x_num.lifehacksmagazine.Fragment.Motiv;
import ru.x_num.lifehacksmagazine.Fragment.Woman;
import ru.x_num.lifehacksmagazine.Fragment.Work;
 
 
public class NavigationDrawer extends ActionBarActivity {
 
    private Drawer.Result drawerResult = null;
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.navigation_drawer);
 
        // Инициализируем Toolbar
 
        final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
 
        // Инициализируем Navigation Drawer
 
        final Drawer drawer = new Drawer();
 
        drawer.withActivity(this);
        drawer.withToolbar(toolbar);
        drawer.withActionBarDrawerToggle(true);
        drawer.addDrawerItems(
 
 
                new SectionDrawerItem().withName(R.string.drawer_life_hacks_category),
                new DividerDrawerItem(),
                new PrimaryDrawerItem().withName(R.string.drawer_life_hacks_week).withIcon(getResources().getDrawable(R.drawable.week)),
                new PrimaryDrawerItem().withName(R.string.drawer_life_hacks_leisure).withIcon(getResources().getDrawable(R.drawable.dosug)),
                new PrimaryDrawerItem().withName(R.string.drawer_life_hacks_home).withIcon(getResources().getDrawable(R.drawable.home)),
                new PrimaryDrawerItem().withName(R.string.drawer_life_hacks_job).withIcon(getResources().getDrawable(R.drawable.work)),
                new PrimaryDrawerItem().withName(R.string.drawer_life_hacks_savings).withIcon(getResources().getDrawable(R.drawable.eco)),
                new PrimaryDrawerItem().withName(R.string.drawer_life_hacks_woman).withIcon(getResources().getDrawable(R.drawable.woman)),
                new PrimaryDrawerItem().withName(R.string.drawer_life_hacks_man).withIcon(getResources().getDrawable(R.drawable.man)),
                new PrimaryDrawerItem().withName(R.string.drawer_life_hacks_Hi_Tech).withIcon(getResources().getDrawable(R.drawable.hitech)),
                new PrimaryDrawerItem().withName(R.string.drawer_life_hacks_motivation).withIcon(getResources().getDrawable(R.drawable.motiv))
        );
        drawer.withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() {
 
            @Override
            // Обработка клика
            public void onItemClick(AdapterView<?> parent, View view, int position, long id, IDrawerItem drawerItem) {
 
                if (drawerItem instanceof Nameable) {
                    Toast.makeText(NavigationDrawer.this, NavigationDrawer.this.getString(((Nameable) drawerItem).getNameRes()), Toast.LENGTH_SHORT).show();
                    selectItem(position);
 
                }
 
            }
 
            private void selectItem(int position) {
 
                Fragment fragment = null;
                switch (position) {
                    case 0:
                        fragment = new BestWeek();
                        break;
                    case 1:
                        fragment = new Dosug();
                        break;
                    case 2:
                        fragment = new Home();
                        break;
                    case 3:
                        fragment = new Work();
                        break;
                    case 4:
                        fragment = new Eco();
                        break;
                    case 5:
                        fragment = new Woman();
                        break;
                    case 6:
                        fragment = new Man();
                        break;
                    case 7:
                        fragment = new Hitech();
                        break;
                    case 8:
                        fragment = new Motiv();
                        break;
                    default:
                        break;
 
                }
 
                // Выполняем смену фрагмента:
                if (fragment != null) {
                    FragmentManager fragmentManager = getSupportFragmentManager();
                    fragmentManager.beginTransaction().replace(R.id.toolbar, fragment).commit();
                    setTitle(?!?!?!?!?);
 
                }
 
            }
 
 
        })
        .build();
    }
 
 
 
    @Override
    public void onBackPressed() {
        // Закрываем Navigation Drawer по нажатию системной кнопки "Назад" если он открыт
        if (drawerResult.isDrawerOpen()) {
            drawerResult.closeDrawer();
        } else {
            super.onBackPressed();
        }
    }
}
0
Pablito
2767 / 2198 / 744
Регистрация: 12.05.2014
Сообщений: 7,718
Завершенные тесты: 1
27.08.2015, 08:49 6
что это за бред?
Java
1
if (drawerItem instanceof Nameable)
к тоже же ActionBarActivity deprecated
0
apel70
5 / 6 / 0
Регистрация: 27.08.2015
Сообщений: 78
27.08.2015, 09:01  [ТС] 7
if (drawerItem instanceof Nameable) а что с этой строчкой не так?
0
Alexvsalex
7 / 7 / 4
Регистрация: 22.04.2015
Сообщений: 86
27.08.2015, 09:53 8
Лучший ответ Сообщение было отмечено apel70 как решение

Решение

Я бы сделал так:
Java
1
2
3
4
5
switch (position) {
case 0:
fragment = new BestWeek();
setTitle("Заголовок 0");
break;
1
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,074
27.08.2015, 11:08 9
что это за бред?
Цитата Сообщение от apel70 Посмотреть сообщение
setTitle(?!?!?!?!?);
Цитата Сообщение от apel70 Посмотреть сообщение
Спасибо за ответ. но то то и оно, что не работает.
А как оно работать будет?
1
27.08.2015, 11:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.08.2015, 11:08

Drawer Navigation and MenuItem
Добрый вечер. Вот такая проблема возникла. Вот в MainActivity есть...

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

Добавление navigation drawer
Привет, есть приложение со множеством активити... нужно запихнуть в него...


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

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

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