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

Смена activity в Navigation Drawer - Android

Войти
Регистрация
Восстановить пароль
 
Глупый
2 / 2 / 0
Регистрация: 25.11.2015
Сообщений: 37
12.10.2016, 12:14     Смена activity в Navigation Drawer #1
Буду в очередной раз оправдывать свой ник.

Суть вопроса - распишите по полочкам как сменить activity.

В Android Studio создаю стандартный проект с Navigation Drawer.

Создаю класс Edit (соответственно создается activity_edit.xml в res/layout/). В activity_edit.xml прописываю в заголовке android:id="@+id/activity_edit". Еще добавляю туда две кнопки (им так же прописываю id).

Теперь в MainActivity.class в секцию if else дописываю:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    @SuppressWarnings("StatementWithEmptyBody")
    @Override
    public boolean onNavigationItemSelected(MenuItem item) {
        // Handle navigation view item clicks here.
        int id = item.getItemId();
 
        if (id == R.id.Operations) {
            // Handle the camera action
        } else if (id == R.id.Reports) {
 
        } else if (id == R.id.Settings) {
            setContentView(R.layout.activity_edit);
        } else if (id == R.id.About) {
 
        }
 
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        drawer.closeDrawer(GravityCompat.START);
        return true;
    }
В итоге при нажатии на пункт Settings на телефоне\эмуляторе получаю ошибку

E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.NullPointerException
at com.lexfall.purse.MainWindow.onNavigationItemSelected(MainActivity.java:85)


Соответственно ругается на 85 строку, а именно

Java
1
        drawer.closeDrawer(GravityCompat.START);
Подскажите в чем дело?

P.S. Без фрагментов. Интересует почему у меня не получается просто заменить одно activity на другое и как всё же надо сплясать с бубном что бы нормально всё работало.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2016, 12:14     Смена activity в Navigation Drawer
Посмотрите здесь:

Navigation Drawer - ошибка Android
Android Navigation Drawer не работает
Navigation Drawer Android
Navigation Drawer Android
Navigation drawer Android
Android Studio - Navigation Drawer Activity, многостраничное Android
Android Navigation drawer
Android Navigation Drawer
Android Добавление navigation drawer
Android Drawer Navigation and MenuItem
Как в navigation drawer activity засунуть активити Android
Приложение падает когда шапка Navigation Drawer Activity пропадает из виду Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
резкий
1896 / 1630 / 508
Регистрация: 12.05.2014
Сообщений: 5,864
Завершенные тесты: 1
12.10.2016, 12:21     Смена activity в Navigation Drawer #2
Цитата Сообщение от Глупый Посмотреть сообщение
setContentView(R.layout.activity_edit);
так не делается

активити это отдельный вообще экран - класс и разметка для него, там уже не будет ничего из разметки первой активити

поэтому надо делать на фрагментах, уроков полно в инете на эту тему
Глупый
2 / 2 / 0
Регистрация: 25.11.2015
Сообщений: 37
12.10.2016, 12:35  [ТС]     Смена activity в Navigation Drawer #3
Цитата Сообщение от Паблито Посмотреть сообщение
так не делается
Окей. Верю. Это же я наверное создал а не студия

Java
1
2
3
4
5
6
7
public class MainWindow extends AppCompatActivity
        implements NavigationView.OnNavigationItemSelectedListener {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_window);
Теперь по делу. Если я все правильно понял. В новой activity у меня нету открытого в первом окне Drawer (Следовательно передаем в новое activity данные по Drawer и всё будет ок?)

Суть в том что с фрагментами то разобрался. Но ткнулся в смену activity и залип.
Паблито
резкий
1896 / 1630 / 508
Регистрация: 12.05.2014
Сообщений: 5,864
Завершенные тесты: 1
12.10.2016, 12:43     Смена activity в Navigation Drawer #4
дровер один на все приложение, в идеале
все на фрагментах, просто по нажатию на пункт в дровере они меняются в своем контейнере
Глупый
2 / 2 / 0
Регистрация: 25.11.2015
Сообщений: 37
12.10.2016, 12:48  [ТС]     Смена activity в Navigation Drawer #5
Ок, спасибо.
Yandex
Объявления
12.10.2016, 12:48     Смена activity в Navigation Drawer
Ответ Создать тему
Опции темы

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