Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Java Мобильная разработка (Android)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2014, 20:05   #1
Mihanches
Пользователь
 
Регистрация: 14.09.2010
Сообщений: 89
По умолчанию Не останавливается таймер при смене Activity

Код:
OnCreate: Runnable runny = new Runnable() {
            @Override
            public void run() {
                callAsynchronousTask(0);
            }
        };
        feedList = new ArrayList<BDItem>();
        new DownloadFilesTask().execute(url);
        h.postDelayed(runny,60000);
...
    @Override
    public void onDestroy(){
        super.onDestroy();
        Log.w("onDestroy","destroyed");
        callAsynchronousTask(1);
    }

    @Override
    protected void onStop(){
        super.onStop();
        Log.w("onStop","stop");
        callAsynchronousTask(1);
    }
    public void callAsynchronousTask(int stop) {

        final Handler handler = new Handler();
        Timer timer = new Timer();
        TimerTask doAsynchronousTask = new TimerTask() {
            @Override
            public void run() {
                handler.post(new Runnable() {
                    public void run() {

                        if (adapter != null && adapter.getCount() > 0) {
                            feedList.clear();
                        }

                        try {
                            new ActiveAccepted().getPublicTimeline("5");
                        } catch (JSONException e) {
                            e.printStackTrace();
                            Log.w("Empty request", "no data with 5 status");
                        }
                        try {
                            new ActiveAccepted().getPublicTimeline("4");
                        } catch (JSONException e) {
                            e.printStackTrace();
                            Log.w("Empty request", "no data with 4 status");
                        }

                        new DownloadFilesTask().execute(url);
                    }
                });
            }
        };
        if (stop==0) {
            timer.schedule(doAsynchronousTask, 0, 60000); //execute in every 8000 ms
        }
        else if(stop == 1){
            timer.cancel();
            doAsynchronousTask.cancel();
            Log.w("timer","cancelled");
        }
    }
Приложение парсит json с сайта, причем парсит так, что даже после смены активити по таймеру продолжает это делать. как остановить таймер, что с ним не так?
Mihanches вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка возникает при смене ПК Dima36668 Microsoft Office Excel 6 02.08.2014 11:49
цикл останавливается при прокрутке страницы vasser200189 Microsoft Office Excel 1 16.05.2012 13:26
Фигура останавливается при касании с границей ДЕЛФИ Николай1 Помощь студентам 0 19.11.2011 16:26
Проблемы при смене ос eros_s Операционные системы общие вопросы 2 05.01.2010 15:26
лаг при смене картинки DANNY Общие вопросы Delphi 9 19.05.2008 11:19