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

Какой метод срабатывает при повторном показе фрагмента

24.03.2015, 10:47. Просмотров 421. Ответов 2
Метки нет (Все метки)

Доброго...

Имею несколько фрагментов, работаю с ними так:

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
 if (fragmentManager.findFragmentByTag(String.valueOf(idQuestion)) != null){
                fragment = fragmentManager.findFragmentByTag(String.valueOf(idQuestion));
                fragmentManager = getSupportFragmentManager();
                fragmentTransaction = fragmentManager.beginTransaction();
                fragmentTransaction
                        .show(fragment)
                        .hide(fragmentManager.findFragmentByTag(String.valueOf(lastQues)))
                        .commit();
            }
            else {
                switch (typeQuestion) {
                    case 0:
                        fragment = new FragmentTestOneType();
                        break;
                    case 1:
                        fragment = new FragmentTestTwoType();
                        break;
                    case 2:
                        fragment = new FragmentTestThreeType();
                        break;
                    case 3:
                        fragment = new FragmentTestFourType();
                        break;
                    case 4:
                        fragment = new FragmentTestFiveType();
                        break;
                    case 5:
                        Intent intent = new Intent(getBaseContext(), FormTotalTest.class);
                        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                        startActivity(intent);
                        break;
                    default:
                        fragment = new FragmentCheckTest();
                        break;
                }
                if (fragment != null) {
                    fragmentManager = getSupportFragmentManager();
                    fragmentTransaction = fragmentManager.beginTransaction();
                    fragmentTransaction.add(R.id.frameFragment, fragment, String.valueOf(idQuestion)).commit();
                    fragments.put(idQuestion, fragment);
                } else {
                    // Error
                    Log.e(this.getClass().getName(), "Error. Fragment is not created");
                }
 
            lastQuestion = idQuestion;
При повторном показе фрагмента нужно обновлять кое-какую информацию в нем, с этим возникли сложности. Я не могу отследить какой метод выполняется при повторном показе. Пробовал дебагером пробежаться, но он нигде не остановился. onResume похоже не срабатывает. Можете подсказать существует ли такой метод, который вызывается при повторном показе фрагмента?

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2015, 10:47
Ответы с готовыми решениями:

Какой метод фрагмента срабатывает после закрытия диалога?
Запускаю FragmentActivity, в методе onResume запускаю DialogFragment. Пока...

Заблюрить фон при показе View
Делаю так: rootView.setDrawingCacheEnabled(true);...

Реализовать воспроизведение звука при каждом показе сообщения
Всем привет) Возник такой вопрос в ходе программирования будильника, есть...

Google maps метод поиска фрагмента карт на разметке для разных версий Android
Столкнулся с такой проблемой. в андройде 6 работает один метод поиска...

Метод фрагмента onResume() перестает вызываться после вызова метода recreate() для Activity
Такая проблема:после вызова метода recreate() методы фрагментов onCreate() and...

2
Netscape
374 / 361 / 52
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
24.03.2015, 17:47 #2
Java
1
2
3
4
5
6
7
8
9
@Override
public void onHiddenChanged(boolean hidden) {
    super.onHiddenChanged(hidden);
    if (hidden) {
        //do when hidden
    } else {
       //do when show
    }
}
Вроде как, есть еще один метод:
Java
1
2
3
4
5
6
7
8
9
@Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        if (isVisibleToUser) {
            // Do your Work
        } else {
            // Do your Work
        }
    }
0
Gabberr
103 / 103 / 19
Регистрация: 13.10.2009
Сообщений: 404
24.03.2015, 17:56 #3
Судя по коду фрагмент создается каждый раз заново, следовательно все методы будут вызываться повторно, можно завязаться на onCreate или onCreateView например.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2015, 17:56

не работает radoiButton при повторном нажатии
Есть checkBox и 4 radioButton. Кода в chackBox нет галки radioButtons должны...

Повторное создание фрагмента внутри фрагмента ViewPager
Доброго времени суток! Использую внутри фрагмента элемент ViewPager, который...

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


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

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

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