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

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

Войти
Регистрация
Восстановить пароль
 
Delari
0 / 0 / 0
Регистрация: 28.06.2015
Сообщений: 22
#1

Переход между окнами - Android

25.01.2016, 17:32. Просмотров 581. Ответов 8
Метки нет (Все метки)

Читая книгу по андройду и юзая AndroidStudio воздник вопрос*
при создании нового проекта в андройде при указании формы BlankActivity выстраивается код из
activity_main.xml
и
content_main.xml

причем 2ое вложенно в 1ое, т.е. грузиться основной экран в котором найдя строку
Javascript
1
<include layout="@layout/content_main" />
грузиться 2ой экран
по сути ограничивая написание меню в activity_main
но в моем источнике ессено не написано как это можно использовать

собственно возник вопрос: можно ли программно менять вложенный layout дабы сократить однообразное написание главного окна для каждого контента?

ну ессено при нажатии на какую-либо кнопку в коде
через

"кот" утрирован

Javascript
1
2
3
4
5
6
7
8
switch(event.getAction()) {
                    case event.ACTION_LEFT:
                        вызов <include layout="@layout/content_main" />
                        break;
                    case event.ACTION_RIGHT:
                         вызов <include layout="@layout/content_main2" />
                        break;
                }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
2195 / 1809 / 562
Регистрация: 12.05.2014
Сообщений: 6,440
Завершенные тесты: 1
25.01.2016, 17:36     Переход между окнами #2
читай лучше про фрагменты, там все происходит на одной активити
и тут тоже и андроид
Spelcrawler
525 / 495 / 111
Регистрация: 12.03.2014
Сообщений: 1,647
Завершенные тесты: 1
25.01.2016, 17:37     Переход между окнами #3
Delari, если прям нужно именно менять контент в одной активити, а не делать все в разных - лучше использовать фрагменты.
Delari
0 / 0 / 0
Регистрация: 28.06.2015
Сообщений: 22
25.01.2016, 18:10  [ТС]     Переход между окнами #4
тогда так, имея 5 активностей content_main1, 2, 3,+

можно ли их менять не прибегая к фрагментам?

т.к. думаю конструктор не просто так делает вложенный вкладыш layout, и их все таки можно как то менять
Паблито
2195 / 1809 / 562
Регистрация: 12.05.2014
Сообщений: 6,440
Завершенные тесты: 1
25.01.2016, 18:17     Переход между окнами #5
setContentView меняет разметки, но это плохая практика
бесполезно объяснять - напиши пару примеров в таком стиле и все сразу дойдет
Delari
0 / 0 / 0
Регистрация: 28.06.2015
Сообщений: 22
25.01.2016, 21:14  [ТС]     Переход между окнами #6
ну так получается, самый лучший вариант каждый раз писать заново меню, аля activity_main, а в него, либо вкладывать контент, либо непосредственно продолжать activity_main дорисовывать?
Паблито
2195 / 1809 / 562
Регистрация: 12.05.2014
Сообщений: 6,440
Завершенные тесты: 1
26.01.2016, 10:53     Переход между окнами #7
у фрагментов может быть свое меню, он в методе onCreateOptionsMenu() точно так же назначается
каждый раз когда фрагмент менеджер будет добавлять новый фрагмент в разметку - его меню будет показываться в тулбаре

один нюанс, фрагменту надо не забыть задать setHasOptionsMenu(true); например в его конструкторе

Цитата Сообщение от Delari Посмотреть сообщение
каждый раз писать заново меню, аля activity_main, а в него, либо вкладывать контент, либо непосредственно продолжать activity_main дорисовывать
меню- это меню
лаяут активити или фрагмента это не меню
Spelcrawler
525 / 495 / 111
Регистрация: 12.03.2014
Сообщений: 1,647
Завершенные тесты: 1
26.01.2016, 10:57     Переход между окнами #8
Цитата Сообщение от Паблито Посмотреть сообщение
аждый раз когда фрагмент менеджер будет добавлять новый фрагмент в разметку - его меню будет показываться в тулбаре
Даже не слышал про это, спасибо. А если у активити есть свои элементы они вместе будут отображены?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.01.2016, 11:11     Переход между окнами
Еще ссылки по теме:

Переход между активити Android
Переход между Activity через заданное время. Как лучше? Android
Переход перелистыванием между Activity Android
Android Переход между точками по осям X-Y
Переход между активити Android

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

Или воспользуйтесь поиском по форуму:
Паблито
2195 / 1809 / 562
Регистрация: 12.05.2014
Сообщений: 6,440
Завершенные тесты: 1
26.01.2016, 11:11     Переход между окнами #9
допустим есть меню в активити, теперь если добавить фрагмент то меню фрагмента добавится к меню активити, я проверял, но так не делаю
а делаю так, вот весь фрагмент )
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class Fragment1 extends Fragment {
    public Fragment1() {
        setHasOptionsMenu(true);
    }
 
    public static Fragment1 newInstance() {
        return new Fragment1();
    }
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment1, container, false);
    }
 
    @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        super.onCreateOptionsMenu(menu, inflater);
        menu.clear();
        inflater.inflate(R.menu.menu_frag1, menu);
    }
}
видно что фишка в строке menu.clear();
и я не уверен что там нужная строка super бла бла, но она в тестовом проекте просто болтается
Yandex
Объявления
26.01.2016, 11:11     Переход между окнами
Ответ Создать тему
Опции темы

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