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

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

25.01.2016, 17:32. Просмотров 1217. Ответов 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;
                }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2016, 17:32
Ответы с готовыми решениями:

Переход между Activity
Не знаю какой первый параметр указать при объявление intent. Когда делала с...

Переход между фрагментами
Здравствуйте. Подскажите, как из одного фрагмента перейти на другой по нажатию...

Переход между активити
Есть переход с одной на другую при помощи кнопки, как реализовать выплывающее...

Переход между активностями!
не могу перейти между активностями! вот весь лог 12-27 14:32:51.611:...

Переход между активити
Есть приложение, в котором сейчас активити идут друг за другом так: A -&gt; B -&gt;...

8
Pablito
2721 / 2164 / 735
Регистрация: 12.05.2014
Сообщений: 7,571
Завершенные тесты: 1
25.01.2016, 17:36 2
читай лучше про фрагменты, там все происходит на одной активити
и тут тоже и андроид
0
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
25.01.2016, 17:37 3
Delari, если прям нужно именно менять контент в одной активити, а не делать все в разных - лучше использовать фрагменты.
0
Delari
1 / 1 / 0
Регистрация: 28.06.2015
Сообщений: 28
25.01.2016, 18:10  [ТС] 4
тогда так, имея 5 активностей content_main1, 2, 3,+

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

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

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

Цитата Сообщение от Delari Посмотреть сообщение
каждый раз писать заново меню, аля activity_main, а в него, либо вкладывать контент, либо непосредственно продолжать activity_main дорисовывать
меню- это меню
лаяут активити или фрагмента это не меню
1
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
26.01.2016, 10:57 8
Цитата Сообщение от Паблито Посмотреть сообщение
аждый раз когда фрагмент менеджер будет добавлять новый фрагмент в разметку - его меню будет показываться в тулбаре
Даже не слышал про это, спасибо. А если у активити есть свои элементы они вместе будут отображены?
0
Pablito
2721 / 2164 / 735
Регистрация: 12.05.2014
Сообщений: 7,571
Завершенные тесты: 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 бла бла, но она в тестовом проекте просто болтается
1
26.01.2016, 11:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.01.2016, 11:11

Переход между fragment и activity
Доброй ночи) возникла необходимость обратного перехода от активити во...

Переход между точками по осям X-Y
добрый день товарищи. интересует как можно реализовать следующее. имеется...

Переход перелистыванием между Activity
Изучением программирования под андроид занялся совсем недавно, и для начала...


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

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

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