Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
AndreyAlt86
0 / 0 / 0
Регистрация: 24.07.2015
Сообщений: 4
#1

Смена фрагмента в контейнере - Программирование Android

24.07.2015, 20:48. Просмотров 667. Ответов 7
Метки нет (Все метки)


http://www.cyberforum.ru/android-dev/thread1879418.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.07.2015, 20:48
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Смена фрагмента в контейнере (Программирование Android):

Вызов фрагмента из фрагмента с использованием EventBus
Доброго времени суток! Можно ли использовать EventBus для того, что из...

Открытие фрагмента NawDrawer
Доброго времени суток форумчане, кто может помочь, нужно чтобы при открытии...

Взаимодействие Активити и Фрагмента
Что есть. 1. Фрагмент который нажатием на кнопку запускает активность, которая...

Доступ к виджету фрагмента
Пытаюсь добавить фрагмент в контейнер и получить доступ к его кнопке frag1 =...

Реализация фрагмента кода
Народ накидайте код в пару строк, реализовать не пойму как, Timer не хочет чет...

7
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,072
25.07.2015, 23:47 #2
А на 180 градусов если повернуть что будет?
0
contedevel
57 / 55 / 13
Регистрация: 07.10.2012
Сообщений: 608
26.07.2015, 01:07 #3
Цитата Сообщение от AndreyAlt86 Посмотреть сообщение
Проблема такая - есть Navigation Draver, по кликам в котором я хочу менять содержимое контейнера, т.е. реплейсить фрагменты. На данный момент 2 фрагмента. В каждом фрагменте есть TabHost, вкладки которого реализованы так же через фрагменты, т.е. через PageAdapter. При запуске приложения я помещаю в контейнер первый фрагмент. Далее при клике делаю replace на другой фрагмент, но при этом во втором фрагменте не отображаются вкладки. Если же устройство повернуть на 90 градусов, то вкладки появляются. Что мне делать и как мне быть? Уже 3 дня гуглю.
Смотрите внимательно, что замещаете и какой FragmentManager где вызываете... Так Вам вряд ли помогут, выложите код.
0
AndreyAlt86
0 / 0 / 0
Регистрация: 24.07.2015
Сообщений: 4
26.07.2015, 07:26  [ТС] #4
При кликах по элементам NavigationDrawer я делаю так:
Java
1
2
3
4
5
6
7
8
9
10
11
                       if (i == 0) {
                            transaction = fragmentManager.beginTransaction();
                            transaction.replace(R.id.llContainer, new AllMyWIFragment());
                            transaction.commit();
                        }
 
                        if (i == 1) {
                            transaction = fragmentManager.beginTransaction();
                            transaction.replace(R.id.llContainer, new AllFindWIFragment());
                            transaction.commit();
                        }
fragmentManager = getSupportFragmentManager();

В createView фрагментов AllMyWIFragment и AllFindWIFragment вызывается функция initTabhost():
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
  @Override
    public void onAttach(Activity activity) {
        myContext=(FragmentActivity) activity;
        super.onAttach(activity);
    }
 
  private void initTabhost() {
        tabHost = (MaterialTabHost) rootView.findViewById(R.id.materialTabHost);
        pager = (ViewPager) rootView.findViewById(R.id.viewpager);
 
        // init view pager
        pagerAdapter = new GeneralViewPagerAdapter(myContext.getSupportFragmentManager());
        pager.setAdapter(pagerAdapter);
        pager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
            @Override
            public void onPageSelected(int position) {
                // when user do a swipe the selected tab change
                tabHost.setSelectedNavigationItem(position);
            }
        });
 
        tabHost.addTab(
                tabHost.newTab()
                        .setIcon(getResources().getDrawable(R.drawable.ic_star_outline_white_24dp))
                        .setTabListener(this)
        );
 
        tabHost.addTab(
                tabHost.newTab()
                        .setIcon(getResources().getDrawable(R.drawable.ic_schedule_white_24dp))
                        .setTabListener(this)
        );
 
        tabHost.addTab(
                tabHost.newTab()
                        .setIcon(getResources().getDrawable(R.drawable.ic_done_white_24dp))
                        .setTabListener(this)
        );
 
        tabHost.addTab(
                tabHost.newTab()
                        .setIcon(getResources().getDrawable(R.drawable.ic_highlight_remove_white_24dp))
                        .setTabListener(this)
        );
 
    }
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,072
26.07.2015, 11:35 #5
Мне кажется проблема в размере вкладок.
if (i == 0) а тут поменяйте на switch
0
contedevel
57 / 55 / 13
Регистрация: 07.10.2012
Сообщений: 608
26.07.2015, 12:36 #6
Цитата Сообщение от Rube Посмотреть сообщение
Мне кажется проблема в размере вкладок.
if (i == 0) а тут поменяйте на switch
Это не ошибка, но стиль программирования плохой... проверка заведомо ложного условия при выполнении первого

Не по теме:

просто пояснил, почему нужно использовать switch or if-else-if



Добавлено через 10 минут
Цитата Сообщение от AndreyAlt86 Посмотреть сообщение
При кликах по элементам NavigationDrawer я делаю так:
К сожалению, внутри фрагментов вкладки не инициализировал... Но внутри фрагментов вызывается
Java
1
getChildFragmentManager
К тому же, если вы устанавливаете вкладки из фрагмента, уберите старые.
Попробуйте вызвать методы invalidate(), requestLayout() у контейнера вкладок
0
AndreyAlt86
0 / 0 / 0
Регистрация: 24.07.2015
Сообщений: 4
26.07.2015, 16:05  [ТС] #7
Но вроде как раз и инициализируются вкладки через initTabhosts?

Не совсем понял что вы имели ввиду под удалением старых вкладок?
0
AndreyAlt86
0 / 0 / 0
Регистрация: 24.07.2015
Сообщений: 4
27.07.2015, 19:10  [ТС] #8
contedevel, Эти 2 метода не помогли ((
0
27.07.2015, 19:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.07.2015, 19:10
Привет! Вот еще темы с решениями:

Запуск активности из фрагмента
Доброго всем. Возникла такая проблема, для запуска активности хоста из...

Сохранение состояния фрагмента
Всем привет. Есть куча фрагментов, реализован переход через repalce, как...

Выбор фрагмента на картинке фильтром
Может быть есть какой-нибудь стандартный способ выбирать кусок картинки,...

TabActivity исчезает содержимое фрагмента
При запуске фрагмент в первой вкладке запускается нормально, но если перейти в...


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

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

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