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

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

Войти
Регистрация
Восстановить пароль
 
Hank
49 / 40 / 3
Регистрация: 28.12.2011
Сообщений: 232
#1

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

24.03.2015, 10:47. Просмотров 330. Ответов 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 похоже не срабатывает. Можете подсказать существует ли такой метод, который вызывается при повторном показе фрагмента?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2015, 10:47     Какой метод срабатывает при повторном показе фрагмента
Посмотрите здесь:
Android Какой метод фрагмента срабатывает после закрытия диалога?
Реализовать воспроизведение звука при каждом показе сообщения Android
Android Google maps метод поиска фрагмента карт на разметке для разных версий андроид
Метод фрагмента onResume() перестает вызываться после вызова метода recreate() для Activity Android
Android не работает radoiButton при повторном нажатии
Android Повторное создание фрагмента внутри фрагмента ViewPager
Android Сохранение положения seekbar (не сохраняет прогресс при повторном обращении)
SignInButton - при повторном нажатии окно выбора аккаунта не показывается Android
При повторном запуске приложения не загружаются сохраненные значения SharedPreferences Android
Android Ошибка при восстановлении фрагмента
Android FATAL EXCEPTION при смене фрагмента
Плохо перерисовывается кнопка при наличии фрагмента Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Netscape
371 / 358 / 48
Регистрация: 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
        }
    }
Gabberr
102 / 102 / 17
Регистрация: 13.10.2009
Сообщений: 403
24.03.2015, 17:56     Какой метод срабатывает при повторном показе фрагмента #3
Судя по коду фрагмент создается каждый раз заново, следовательно все методы будут вызываться повторно, можно завязаться на onCreate или onCreateView например.
Ответ Создать тему
Опции темы

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