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

Борьба за TextView при работе с CountDownTimer - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Как заставить вращаться картинку кодом? http://www.cyberforum.ru/android-dev/thread1648170.html
Мне нужно что бы картинка вращалась, стандартные анимации не дают возможности каждый раз менять угол остановки. А мне нужно что бы картинка вращалась и останавливалась каждый раз в разных местах. Как это сделать?
Android Собственный адаптер на основе ArrayAdapter Хочу реализовать, чтобы при keydown элемент списка менял цвет фона, а при keyup возвращался в исходное положение, и в то же время выполнял действие которое прописано в методе onListItemClick в активити, которое использует этот адаптер. public class MyAdapter<T> extends ArrayAdapter<T> { SharedPreferences s; Context contextall; public MyAdapter(Context context, int resource, T... http://www.cyberforum.ru/android-dev/thread1648113.html
Android Ошибка с parse.com - "пробелом, апостроф"
Во-первых, объясню ситуацию... Существует запись данных на parse.com и все работает хорошо. Вот как выглядит запись и загрузки данных из него: public ArrayList<MyObj> loadMyObjs() { Log.d("Parse", "MyObj"); final ArrayList<MyObj> myObjs = new ArrayList<>(); ParseQuery<ParseObject> query = ParseQuery.getQuery("MyObj"); query.whereEqualTo("user",...
Android Как при смене темы менять стили кнопок?
В приложении используются 2 вида кнопок. Это разные кнопки как по цвету, так и по другим свойствам. Свойства этих 2-х видов кнопок описаны в 2-х разных стилях. <!-- Стиль больших кнопок для светлой темы --> <style name="MainButtonStyleLight"> <item name="android:layout_width">fill_parent</item> <item name="android:layout_height">64dp</item> <item...
Android Подскажите у кого происходит вылет при переходе на Activity http://www.cyberforum.ru/android-dev/thread1647679.html
java.lang.NullPointerException java.lang.RuntimeException: Unable to start activity ComponentInfo{com.bastion.teplocomgsm10/com.bastion.teplocomgsm10.NNSSS}: java.lang.NullPointerException at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135) at...
Android Добавление Actionbar в FragmentActivity Всем привет! Подскажите пожалуйста как добавить Actionbar в FragmentActivity. подробнее

Показать сообщение отдельно
Mingorto
0 / 0 / 0
Регистрация: 12.08.2015
Сообщений: 6

Борьба за TextView при работе с CountDownTimer - Android

26.01.2016, 18:46. Просмотров 200. Ответов 1
Метки (Все метки)

Добрый день. Проблема заключается в следующем: есть таймер, наследованный от CountDownTimer, его значение передается в TextView. Также присутствуют две кнопки - старт и пауза. При повторном нажатии на старт должен происходить перезапуск таймера. Это происходит, но весьма странным образом. 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
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
 
    TextView mTimer;
    ImageButton startButton, pauseButton;
    int timeToEnd = 25000;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        mTimer = (TextView) findViewById(R.id.tv);
        startButton = (ImageButton) findViewById(R.id.startButton);
        pauseButton = (ImageButton) findViewById(R.id.pauseButton);
        startButton.setOnClickListener(this);
        pauseButton.setOnClickListener(this);
    }
 
    @Override
    public void onClick(View v) {
        final TimerClass timer = new TimerClass(timeToEnd, 1000);
        switch (v.getId()) {
            case R.id.startButton:
                startButton.setOnClickListener(this);
                timer.start();
                break;
            case R.id.pauseButton:
                pauseButton.setOnClickListener(this);
                timer.cancel();
        }
    }
 
    public class TimerClass extends CountDownTimer {
        public TimerClass(long milliFuture, long interval) {
            super(milliFuture, interval);
        }
 
        @Override
        public void onTick(long millisUntilFinished) {
            long millis = millisUntilFinished;
            String hhmmss = String.format("%02d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(millis),
                    TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)),
                    TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));
            mTimer.setText(hhmmss);
        }
 
        @Override
        public void onFinish() {
            mTimer.setText("Completed");
        }
    }
 
    public void showSetting() {
        Intent intent = new Intent(this, Prefs.class);
        startActivity(intent);
    }
 
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuItem mi = menu.add(0, 0, 0, "Settings");
        mi.setIntent(new Intent(this, Prefs.class));
        return super.onCreateOptionsMenu(menu);
    }
}
P.S. Пробовал старую реализацию, там этой проблемы нет, но она мне не подходит, так как время должно задаваться извне и изменяться по желанию пользователя, а не быть строго фиксированным.

Java
1
2
3
btnStart.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru