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

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

Войти
Регистрация
Восстановить пароль
 
Alex_Gnatuyk
2 / 2 / 1
Регистрация: 04.12.2013
Сообщений: 16
#1

Ошибка при создании бокового меню. Navigation Drawer - Программирование Android

08.03.2015, 21:40. Просмотров 542. Ответов 1
Метки нет (Все метки)

Суть в чем. Делал по уроку. Там создавался класс. Например menu1 menu 2 и т.д
и лейауты к ним( menu_layout1, menu_layout2 и т.д)
я создал класс menu1
c кодом
Java
1
2
3
4
5
6
7
8
public class menu_1 extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.menu1_layout, container, false);
        return rootView;
    }
}
а MainActivity вот такое

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
145
146
147
148
149
150
151
152
153
154
155
156
157
package com.sancho.test;
 
import android.app.Activity;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.content.Context;
import android.os.Build;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.support.v4.widget.DrawerLayout;
import android.widget.ArrayAdapter;
import android.widget.TextView;
 
 
public class MainActivity extends ActionBarActivity
        implements NavigationDrawerFragment.NavigationDrawerCallbacks {
 
    /**
     * Fragment managing the behaviors, interactions and presentation of the navigation drawer.
     */
    private NavigationDrawerFragment mNavigationDrawerFragment;
 
    /**
     * Used to store the last screen title. For use in {@link #restoreActionBar()}.
     */
    private CharSequence mTitle;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
        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(int position) {
        // update the main content by replacing fragments
        FragmentManager fragmentManager = getSupportFragmentManager();
 
        Fragment fragment = null;
        switch (position){
            case 0:
                fragment = new menu_1();
                break;
 
        }
        fragmentManager.beginTransaction()
                .replace(R.id.container, fragment)
                .commit();
    }
 
    public void onSectionAttached(int number) {
        switch (number) {
            case 1:
                mTitle = getString(R.string.title_section1);
                break;
            case 2:
                mTitle = getString(R.string.title_section2);
                break;
            case 3:
                mTitle = getString(R.string.title_section3);
                break;
        }
    }
 
    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();
            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();
 
        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }
 
        return super.onOptionsItemSelected(item);
    }
 
    /**
     * A placeholder fragment containing a simple view.
     */
    public static class PlaceholderFragment extends Fragment {
        /**
         * The fragment argument representing the section number for this
         * fragment.
         */
        private static final String ARG_SECTION_NUMBER = "section_number";
 
        /**
         * Returns a new instance of this fragment for the given section
         * number.
         */
        public static PlaceholderFragment newInstance(int sectionNumber) {
            PlaceholderFragment fragment = new PlaceholderFragment();
            Bundle args = new Bundle();
            args.putInt(ARG_SECTION_NUMBER, sectionNumber);
            fragment.setArguments(args);
            return fragment;
        }
 
        public PlaceholderFragment() {
        }
 
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
            View rootView = inflater.inflate(R.layout.fragment_main, container, false);
            return rootView;
        }
 
        @Override
        public void onAttach(Activity activity) {
            super.onAttach(activity);
            ((MainActivity) activity).onSectionAttached(
                    getArguments().getInt(ARG_SECTION_NUMBER));
        }
    }
 
}
А ошибка вот такая.
Хотя во все уроках все проходит отлично.
0
Миниатюры
Ошибка при создании бокового меню. Navigation Drawer  
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2015, 21:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка при создании бокового меню. Navigation Drawer (Программирование Android):

Боковое меню (Navigation Drawer) в ListFragment - Программирование Android
Вообщем нужно реализовать данный паттерн в ListFragment, и возникли некоторые вопросы. XML файл для реализации меню обрабатывается в...

Navigation Drawer - ошибка - Программирование Android
Возникает ошибка при установке drawerListener public class MainActivity extends Activity { String email; DrawerLayout...

Как в андроид сделать чтобы navigation drawer при запуске был открыт - Программирование Android
Помогите!

Navigation Drawer - Программирование Android
Всем привет. Подскажите в чем может быть проблема. Создал Navigation Drawer по этому примеру. http://habrahabr.ru/post/250765/ добавил туда...

Navigation drawer - Программирование Android
Как так подключить navigation drawer чтобы он был доступен не в одном а во всех или в нескольких активити приложения и во всех этих...

Navigation drawer - Программирование Android
Скажите, как сделать так чтобы при открытии другого activity, navigation drawer можно было так же с левой стороны на экране вызвать? При...

1
skaiver
94 / 38 / 3
Регистрация: 02.03.2011
Сообщений: 218
10.03.2015, 01:04 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Java
1
2
import android.app.Fragment; //  это удали в классе menu_1
import android.support.v4.app.Fragment; // это поставь
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2015, 01:04
Привет! Вот еще темы с ответами:

Navigation Drawer - Программирование Android
Пытаюсь разобраться с Navigation Drawer. Делаю по гайду https://github.com/codepath/android_guides/wiki/Fragment-Navigation-Drawer и в...

Navigation Drawer - Программирование Android
помогите найти ошибку. код главного активити package ua.com.cls; import android.annotation.SuppressLint; import...

Navigation Drawer не работает - Программирование Android
только начал программировать. делал navigation draver по инструкции на хабре. при запуске приложение просто вылетает, а в логах такая...

Drawer Navigation and MenuItem - Программирование Android
Добрый вечер. Вот такая проблема возникла. Вот в MainActivity есть Выдвижное меню(Drawer Navigation) и правое дополнительное меню...


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

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

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