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

NavigationView выделить выбранный элемент - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Mapsforge kinetic scrooling http://www.cyberforum.ru/android-dev/thread1549696.html
как реализовать kinetic scrooling для mapsforge карты
Программирование Android Подсчет трафика раздельно по двум сим (Андроид < 5.1) Добрый день! Нужна помощь по теме. Я долго искал в интернете, расковырял родной Settings.apk и обнаружил там использование следующих классов import android.net.INetworkStatsService; import... http://www.cyberforum.ru/android-dev/thread1549641.html
Программирование Android Ввод цифр
Здравствуйте, вот разбираюсь с примером для android. Запустил и вроде все работает, но цифры в EditText почему-то вводит задом наперед, не подскажете в чем проблема? Вот ссылка примера:...
Программирование Android Нужно исправить умножение столбиком
Помогите исправить умножение столбиком. C Multiply - всё чётко. Получаем результат умножения текущего разряда (2-го числа) на первое число. Далее в конец числа добавляем 0. Ниже я отобразил где это...
Программирование Android Ощибка в генерации файла .apk в grandle.build http://www.cyberforum.ru/android-dev/thread1549513.html
Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? Я недавно прочитал в интернете о том, как создать апк файл в андроид студио через grandle.build. Я вроде сделал все правильно, но...
Программирование Android Ко всем элементам меню применяется последняя иконка Здравствуйте! Никак не могу понять из-за чего так происходит... Есть код: for(int i = 0; i < ts.size(); ++i) { final Table.Timetable t = ts.get(i); final MenuItem item =... подробнее

Показать сообщение отдельно
contedevel
57 / 55 / 8
Регистрация: 07.10.2012
Сообщений: 598

NavigationView выделить выбранный элемент - Программирование Android

11.10.2015, 17:13. Просмотров 324. Ответов 0
Метки (Все метки)

Здравствуйте!
Никак не пойму, как в NavigationView выделить пункт меню.
Java
1
menuItem.setChecked(true);
doesn't work.

Меню строится программно, т.к. заранее неизвестно количество элементов. Вот сам код:
Кликните здесь для просмотра всего текста
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
public class NavigatorFragment extends Fragment {
    //private static final String TAG = NavigatorFragment.class.getSimpleName();
    private long[] timetableIds;
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        final MainActivity activity = (MainActivity) getActivity();
        //Inflate layout
        final NavigationView view = (NavigationView)inflater.inflate(R.layout.navigator, null);
        view.setItemIconTintList(null);
        final Menu menu = view.getMenu();
        createMenu(menu);
        view.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(MenuItem menuItem) {
 
                if(menuItem.getGroupId() == R.id.timetable_menu) {
                    final DatabaseHandler db = new DatabaseHandler(getContext());
                    db.openReadable();
                    final Table.Timetable t = db.getTimetable(timetableIds[menuItem.getOrder()]);
                    db.close();
                    activity.onTimetableSelected(t);
                    menuItem.setChecked(true); //Здесь нужно выделить только что нажатый пункт меню
                } else {
 
                    switch (menuItem.getItemId()) {
//Открываем соответствующие активити приложения
                    }
                }
 
                return false;
            }
        });
        return view;
    }
 
    private void createMenu(final Menu menu) {
        final DatabaseHandler db = new DatabaseHandler(getActivity());
        db.openReadable();
        final List<Table.Timetable> ts = db.getTimetables();
        db.close();
 
        timetableIds = new long[ts.size()];
        final Drawable baseIcon = ContextCompat.getDrawable(
                getContext(),
                R.drawable.sh_filled_circle
        );
 
        for(int i = 0; i < ts.size(); ++i) {
            final Table.Timetable t = ts.get(i);
            final MenuItem item = menu.add(R.id.timetable_menu, Menu.NONE, i, t.getTitle());
            final GradientDrawable icon = (GradientDrawable)baseIcon.getConstantState()
                    .newDrawable().mutate();
            icon.setColor(t.getColor());
            item.setIcon(icon);
            timetableIds[i] = t.getId();
        }
 
        int order = ts.size();
 
        final MenuItem miSubjects = menu.add(R.id.navigation_menu,
                R.id.action_subjects,
                order,
                R.string.action_subjects);
        miSubjects.setIcon(ContextCompat.getDrawable(getContext(), R.drawable.ic_labels_dark_24));
 
        final MenuItem miTeachers = menu.add(R.id.navigation_menu,
                R.id.action_teachers,
                ++order,
                R.string.action_teachers);
        miTeachers.setIcon(ContextCompat.getDrawable(getContext(), R.drawable.ic_group_dark_24));
 
        final MenuItem miTimetables = menu.add(R.id.navigation_menu,
                R.id.action_timetables,
                ++order,
                R.string.action_timetables);
        miTimetables.setIcon(ContextCompat.getDrawable(getContext(), R.drawable.ic_event_dark_24));
 
        final MenuItem miAbout = menu.add(R.id.navigation_menu,
                R.id.action_about,
                ++order,
                R.string.action_about);
        miAbout.setIcon(ContextCompat.getDrawable(getContext(), R.drawable.ic_help_dark_24));
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru