Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
#1

SwypeRefreshLayout не останавливает анимацию во Fragment - Программирование Android

28.01.2016, 18:29. Просмотров 291. Ответов 7
Метки нет (Все метки)

Есть ViewPager, в нем фрагменты. Во фрагменте SwipeRefreshLayout с ListView
Внутри класса фрагмента в onCreateView задаю

Java
1
2
3
4
5
6
7
8
9
10
        swipeLayout = (SwipeRefreshLayout) view.findViewById(R.id.SwipeRefreshLayout);
        swipeLayout.setOnRefreshListener(SwipeRefreshListener);
 
        private SwipeRefreshLayout.OnRefreshListener SwipeRefreshListener = new SwipeRefreshLayout.OnRefreshListener(){
            @Override
            public void onRefresh() {
                swipeLayout.setRefreshing(true);
                new GetDataTask().execute();
            }
        };
Все работает. После выполнения всех задач в GetDataTask пишу swipeLayout.setRefreshing(false);, но анимация не пропадает. Так и висит. Пытался найти что-то похожее на stackoverflow, но не нашел.

Может кто-то сталкивался, как решить проблему?

Когда раньше фрагментов не было, все работало.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2016, 18:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос SwypeRefreshLayout не останавливает анимацию во Fragment (Программирование Android):

Обновление fragment из другого fragment - Программирование Android
Добрый вечер всем!! Подскажите пожалуйста как обновить один фрагмент из другого (а именно TextView и ArrayAdapter)?

Исключение останавливает цикл - Delphi
в цикле возникает исключение которое останавливает работу цикла. Как продолжить выполнение цикла без потери данных не смотря на исключение?...

WM_TIMER останавливает код - C++ WinAPI
елс иво время выполнения какого-либо кода вызывается WM_TIMER, предыдущий код пререстает выполняться. т.е. после обработки WM_TIMER, проц...

Останавливает куллер на видеокарте - Видеокарты
Здравствуйте У меня старенький комп, с видеокартой Ge-force 7600 GS , и на ней стал останавливаться куллер Частенько получается его...

Sleep останавливает таймер - C#
понадобилось написать программу, блокирующую клавиатуру и мышь на определенное время. используется BlockInput. private void...

Break не останавливает цикл - C (СИ)
Здравствуйте! У меня возникла такая проблема - в этом коде break не хочет выходить из цикла, если ему попадается строка "}". Перед if я для...

7
Pablito
2549 / 2031 / 633
Регистрация: 12.05.2014
Сообщений: 7,150
Завершенные тесты: 1
28.01.2016, 18:35 #2
в onRefresh() нет необходимости писать swipeLayout.setRefreshing(true);
лаяут и так уже в состоянии refreshing

я использовал такой костыль
Java
1
2
3
4
5
6
7
8
9
10
11
@Override
    public void onRefresh() {
        handler.postDelayed(stopRefreshing, 5000); // время можно уменьшить
    }
 
    private final Runnable stopRefreshing = new Runnable() {
        @Override
        public void run() {
            if (swipeLayout.isRefreshing()) swipeLayout.setRefreshing(false);
        }
    };
в задаче писал так
Java
1
 if (swipeLayout.isRefreshing()) swipeLayout.setRefreshing(false);
0
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
28.01.2016, 20:39  [ТС] #3
Паблито, я так писал уже. Не помогает. Все выполняется, список ListView обновляется, а значок прогресса висит, крутится... Причем если вывести его и сразу скрыть setRefreshing(false), то он скрывается через раз.

Такое ощущение, что во фрагменте теряется ссылка на объект swipeLayout.

Добавлено через 5 минут
Попробовал на разных страницах фрагмента. Работает 2-3 раза из 4-х. Потом снова висит.

Добавлено через 1 час 42 минуты
Короче получается, что isRefreshing возвращает false, хотя кружок прогресса остается на экране. Как быть?
0
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,663
Завершенные тесты: 1
28.01.2016, 21:19 #4
dubok79, можно без проверки его тормозить, ничего плохого не произойдет.
0
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
28.01.2016, 21:20  [ТС] #5
Spelcrawler, я торможу, только он не пропадает. Остается висеть. Бывает, что пропадет, но чаще всего просто висит.
0
Pablito
2549 / 2031 / 633
Регистрация: 12.05.2014
Сообщений: 7,150
Завершенные тесты: 1
29.01.2016, 11:01 #6
я с ним как-то провозился долго и проблема решилась так как я выше отписал, этот лаяут сырой какой-то
как и координатор
0
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,663
Завершенные тесты: 1
29.01.2016, 11:06 #7
Цитата Сообщение от Паблито Посмотреть сообщение
этот лаяут сырой какой-то
Согласен. Только у меня была проблема не с остановкой, а с запуском при повороте экрана. Т.е. когда что-то обновляется и переворачивается экран он никак не хотел запускаться и тоже решилось с помощью postDelayed. Потом прочитал, что он не будет запускаться пока не выполниться его onMeasure(), может и тут с этим проблема.
0
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
29.01.2016, 11:40  [ТС] #8
Странно то, что он работает через раз. И проблема возникла после того как я перешел на фрагменты. Причем все события выполняются и сам он думает даже, что уже скрылся, но фиг там. Придется возвращаться на PullToRefresh :-(
0
29.01.2016, 11:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2016, 11:40
Привет! Вот еще темы с ответами:

Установка Widows XP останавливает на 33 минуте! - Windows XP
Знаю что более ране обсуждалась тема! Но для меня не понятно что нужно было сделать! Вообщем все идет нормально а далее когда начинается...

Socket_read останавливает выполнение скрипта - PHP Сети
Добрый день уважаемые форумчане. У меня на сервере необходимо запрогроммировать сокет который будет слушать большое количество соединений....

Останавливает работу CCleaner во время очистки - Windows 10
После того как перешел на 10ку у меня возникли проблемы с чистильщиком ccleaner. Останавливает работу во время очистки. Дайте понять в чем...

Вирус замедляет и останавливает работу браузера - Удаление вирусов
в общем недавно началась проблема,а если точнее 2-3 дня назад,что при работе браузера опера начинают резко останавливаться станадартные...


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

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

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