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

Не понял как работать с таймером... - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Работа со звуком в в Eclipse http://www.cyberforum.ru/android-dev/thread562732.html
Здравствуйте. Подскажите пожалуйста у есть возможность проигрывать звук не сначала а с установленного времени, или для этого нужен другой класс ? Пересмотрел все доступные методы – не нашел – сн. 1.
Программирование Android Android Что почитать? Всем доброго времени суток. Недавно я заинтересовался программированием на Android, но так как я новичок я хочу купить какую-нибудь книгу что бы вникнуть в суть, можете ли вы мне посоветовать что... http://www.cyberforum.ru/android-dev/thread562668.html
NetBeans IDE Программирование Android
В программе NetBeans IDE 7.1.2 я подключаю модуль NBandroid, ссылку на обновления ввожу правильно, но в Подключаемых модулях Android не появляется( Что делать? Еклипс не хочу использовать)
Post запрос Программирование Android
Как отправить POST запрос на java?
Программирование Android Замена цвета Background-а на заданный http://www.cyberforum.ru/android-dev/thread561954.html
Помогите пожалуйста. Вроде ничего сложного, но почему то не работает. На экране 3 радиокнопки и кнопка Submit. Радиокнопки - выбор между 3-мея цветами. При нажатии на Submit должнен поменять цвет...
Программирование Android Срабатывание GC при ~50% свободной памяти В приложении при некотором взаимодействии с пользователям часто происходит вызов системой сборки мусора при этом свободной памяти в этот момент 49-50% Цитата из лога GC_EXTERNAL_ALLOC freed 32K,... подробнее

Показать сообщение отдельно
Rameron
Си-решеточник
134 / 128 / 38
Регистрация: 07.02.2011
Сообщений: 637

Не понял как работать с таймером... - Программирование Android

01.05.2012, 15:12. Просмотров 965. Ответов 0
Метки (Все метки)

Всем доброго времени суток.

Возникла проблема работы с таймером (код, похоже, полная ересь)

При нажатии на кнопку, её фон должен на 1 секунду сменится на иной и возвратится обратно.

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
...
public void onClick(View arg0) 
    {
        int curID = arg0.getId();
 
        new TimerWork(this, curID).run();  //создание потока с таймером
    }
}
 
class TimerWork extends Thread
{
    Activity act;
    int btnID;
    public TimerWork(Activity act, int btnID)
    {
        this.act = act;
        this.btnID = btnID;
    }
    
    public void run()
    {
        createTimer();
    }
    public void createTimer()
    {
        Timer tm = new Timer();
        tm.schedule(new TimerFunc(act, btnID), 100, 1000);
    }
}
 
class TimerFunc extends TimerTask
{
    Activity act;
    int btnID;
    Boolean btnState = false;
    public TimerFunc(Activity act, int btnID)
    {
        this.act = act;
        this.btnID = btnID;
    }
    
    public void run() 
    {
        btnState=!btnState;
        Button btn = (Button) act.findViewById(btnID);
        
        if (btnState)
        {
            btn.setBackgroundResource(R.drawable.menu_button);
        }
        else
        {
            btn.setBackgroundResource(R.drawable.menu_button_clicked);
        }
        
    }
}
Но в итоге приложение падает при нажатии на саму кнопку.

С таймером я как-то совсем не разобрался и, скорее всего, TimerTask и так наследует класс Thread или интерфейс Runnable, то есть поток для него отдельный не надо...

Кто может - просветите пожалуйста.

Добавлено через 6 минут
Тему можно закрыть

Разобрался. Забыл, что с интерфейсом можно работать только в UI Thread.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru