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

Смена значения TextView по таймеру - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Получить e-mail пользователя facebook http://www.cyberforum.ru/android-dev/thread990492.html
Подскажите как можно получить e-mail пользователя facebook? Пытаюсь получить так: String email = user.getProperty("email").toString(); но объект "user" не имеет ничего связанного с email. вот код: private void loginFacebook() { Session.openActiveSession(this, true, new Session.StatusCallback() {
Android Пароль на приложение Есть запароленное приложение с тремя активити (main,spisok,pass). Хочу, чтобы при нажатии на хард-кнопку "Домой" и последующем запуске приложения с домашнего экрана появлялась активити с паролем(pass). Написал обработчик onResume на двух активити main и spisok, чтобы сразу запускалась pass. В итоге, теперь при нажатии на хард-кнопку "Домой" и последующем запуске приложения с домашнего экрана... http://www.cyberforum.ru/android-dev/thread990476.html
Android Ошибка при отладке на телефоне (INSTALL_FAILED_INVALID_APK)
При отладке на телефоне (Sony Xperia Sola) возникает ошибка: pkg: /data/local/tmp/com.example.tmp Failure ------------------------------------------ С другим телефоном все работает. Судя по всему ошибка не в настройках IDE или adb, а в самом телефоне. Пробовал запускать на другом компьютере и тоже ничего не работало. На эмуляторе все работает. Вот весь лог: Waiting for device. Target...
Поиск объектов на карте Google Map Android
Как осуществить поиск по карте Google Map. Найти надо музеи на карте. Пробую через geocoder.getFromLocationName(region+","+музей, 100); Но ничего не выходит, вернее отображаются те музеи, в которых в адресе прописано слово "Музей" public void Onfind(View w) throws IOException { String region=""; EditText myText = (EditText)findViewById(R.id.editSearch); ...
Android Диалоговые окна! http://www.cyberforum.ru/android-dev/thread990068.html
Мужики, подскажите, как сделать такое диалоговое окно, в котором бы были поля ввода? Диалоговые окна создаю легко и работаю с ними! А вот как сделать такое - не найду нигде! Подскажет кто?
Android ConnectivityManager setRadio Наверное, будет выглядеть весьма глупо, но я уже достаточно много времени убил, решая эту задачу. ... import android.content.Context; import android.net.ConnectivityManager; ... ConnectivityManager cm = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); cm.setRadio(NetworkType.MOBILE, true); Не находит NetworkType. Если посмотреть мануалы, то setRadio(int, bool).... подробнее

Показать сообщение отдельно
onting
5 / 5 / 1
Регистрация: 16.07.2009
Сообщений: 110
29.10.2013, 03:17  [ТС]     Смена значения TextView по таймеру
Цитата Сообщение от V0v1k Посмотреть сообщение
подозреваю что TimerTask выполняется не в UI потоке...
Сделал через AsyncTask, но где ошибка не понимаю. Первое значение 1 пишется в TextView, а на втором приложение вылетает.
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package com.example.MyFirst;
 
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.res.ColorStateList;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.DragEvent;
import android.view.MotionEvent;
import android.view.View;
import android.widget.TextView;
 
import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;
 
public class MainActivity extends Activity {
    /**
     * Called when the activity is first created.
     */
 
    TextView tvMain;
 
    private class UpdateText extends AsyncTask<Integer, Integer, Void> {
 
        private Context context;
        private TextView textView;
 
        public UpdateText(Context context, TextView textView){
            this.context = context;
            this.textView = textView;
        }
 
        protected Void doInBackground(Integer... params) {
            publishProgress(params[0]);
            return null;
        }
 
        protected void onProgressUpdate(Integer... values) {
            textView.setText(String.valueOf(values[0]));
        }
 
    }
 
    UpdateText updateText;
 
    private Context getThisContext(){return this;}
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
        tvMain = (TextView) findViewById(R.id.tvMain);
        updateText = new UpdateText(this, tvMain);
        tvMain.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                tvMain.setText("Привет Мир!");
                Timer t = new Timer();
 
                t.schedule(new TimerTask() {
                    public  int i = 0;
 
                    @Override
                    public void run() {
                        i++;
                        updateText.execute(i);
                    }
                }, 5000, 1000);
            }
        });
 
    }
}
Добавлено через 57 минут
Теперь ничего не вылетает. Разобрался.
Интересует только, корректно ли я обозвал метод finalize() в классе UpdateText или из-за этого могут быть проблемы?
Буду благодарен за любые рекомендации. Android'ом занимаюсь дня три.

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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
package com.example.MyFirst;
 
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.res.ColorStateList;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.DragEvent;
import android.view.MotionEvent;
import android.view.View;
import android.widget.TextView;
 
import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;
 
public class MainActivity extends Activity {
    /**
     * Called when the activity is first created.
     */
 
    TextView tvMain;
 
    private class UpdateText extends AsyncTask<Void, Integer, Void> {
 
        private TextView textView;
        private Timer timer;
        private int anInt;
 
        public UpdateText(TextView textView){
            timer = new Timer();
            anInt = 0;
            this.textView = textView;
        }
 
        protected Void doInBackground(Void... params) {
 
            timer.schedule(new TimerTask() {
 
                @Override
                public void run() {
                    anInt = anInt + 1;
                    publishProgress(anInt);
                }
            }, 5000, 1000);
            return null;
        }
 
        protected void onProgressUpdate(Integer... values) {
            textView.setText(String.valueOf(values[0]));
        }
 
        public void finalize(){
            timer.cancel();
        }
 
    }
 
    UpdateText updateText;
 
    private Context getThisContext(){return this;}
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
        tvMain = (TextView) findViewById(R.id.tvMain);
        tvMain.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (updateText!=null) {updateText.cancel(true); updateText.finalize();}
                updateText = new UpdateText(tvMain);
                tvMain.setText("Привет Мир!");
                updateText.execute();
            }
        });
 
    }
}
 
Текущее время: 17:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru