Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
olorin3000
2 / 2 / 0
Регистрация: 27.09.2012
Сообщений: 48
1

Замена цвета background с задержкой для ячейки ListView

07.01.2014, 21:35. Просмотров 1216. Ответов 8
Метки нет (Все метки)

Здравствуйте!
Я делаю приложение для тестов.
Собственно хочу реализовать следующие.
Есть ListView, при нажатии на ячейку если ответ правильный
меняется background ячейки на зеленый, если нет то background красный.
После этого делается пауза на 1 секунду, все ячейки возвращаются в предыдущие состояние
и загружается новая колекция для адаптера. Да используется BaseAdapter.

У меня не получается сделать замену background с задержкой.
Если не сложно или кто сталкивался с даной задачей наведите маленький
пример. Неважно на чем можно даже на button. Мне главное понять как сделать замену цвета с задержкой.
Я пробовал вариант типа:
--backgroundColor(Color.Red);
--Thread.Sleep(1000);
--backgroundColor(Color.White); // для того чтобы возвратить ячейку в прежние состояние.
Но результата никакого. Задержка идет но цвет не меняется.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.01.2014, 21:35
Ответы с готовыми решениями:

Замена цвета Background-а на заданный
Помогите пожалуйста. Вроде ничего сложного, но почему то не работает. На экране 3 радиокнопки и...

Изменения цвета фона ячейки ListView
listView1.Items.SubItems.BackColor = Color.Red; тупо не работает((( как быть?

Замена цвета определенной ячейки StringGrid
Подскажите как имея координаты ячейки в StringGrid изменить ее цвет, в стандартных функциях...

Изменение цвета кнопки с задержкой
Привет. Есть кнопка, нужно чтобы нажал на нее и она изменила цвет на 1-2 секунды после чего стала...

Функция ВПР для определенного цвета ячейки
Всем привет! Пишу макрос с участием функции ВПР чего я пытаюсь добиться от него: если ячейка...

8
korsaj
152 / 119 / 11
Регистрация: 16.08.2013
Сообщений: 576
07.01.2014, 22:36 2
Больше кода.
0
olorin3000
2 / 2 / 0
Регистрация: 27.09.2012
Сообщений: 48
07.01.2014, 23:03  [ТС] 3
Цитата Сообщение от korsaj Посмотреть сообщение
Больше кода.
Ну вот к примеру:
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
package com.example.you;
 
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
 
public class MainActivity extends Activity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final Button btn=(Button) findViewById(R.id.button1);
        
        btn.setOnClickListener(new OnClickListener(){
 
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                
                try {
                    btn.setBackgroundColor(Color.RED);
                    Thread.sleep(1000);
                    btn.setBackgroundColor(Color.WHITE);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                
            }});
    }
 
}
Почему в даном случаи кнопка не меняет цвет на красный а сразу
идет задержка и после этого меняет цвет на белый?
0
korsaj
152 / 119 / 11
Регистрация: 16.08.2013
Сообщений: 576
07.01.2014, 23:25 4
Вынесите изменение цвета кнопки из try.
0
07.01.2014, 23:25
olorin3000
2 / 2 / 0
Регистрация: 27.09.2012
Сообщений: 48
07.01.2014, 23:42  [ТС] 5
Цитата Сообщение от korsaj Посмотреть сообщение
Вынесите изменение цвета кнопки из try.
Не помогло.
0
korsaj
152 / 119 / 11
Регистрация: 16.08.2013
Сообщений: 576
07.01.2014, 23:49 6
Код выкладывайте.
0
olorin3000
2 / 2 / 0
Регистрация: 27.09.2012
Сообщений: 48
08.01.2014, 00:06  [ТС] 7
А заяем мне код выкладывать?
Я просто хочу понять в чем причина вот на этом простом примере.
0
korsaj
152 / 119 / 11
Регистрация: 16.08.2013
Сообщений: 576
08.01.2014, 00:27 8
Попробовал сам. Действительно ничего не выходит. Меняет цвет только по команде после остановки. Видимо это связано с тем что командой sleep вы "замораживаете" поток приложения и соответственно в нем в течении 1 секунды ничего не выполняется. По истечении секунды поток "размораживается" довыполняется смена цвета кнопки на красный и сразу выполняется команда смены цвета на белый.

Выход - ожидание вынести в отдельный поток.

Добавлено через 9 минут
http://startandroid.ru/ru/uroki/vse-...obschenie.html
0
olorin3000
2 / 2 / 0
Регистрация: 27.09.2012
Сообщений: 48
08.01.2014, 00:36  [ТС] 9
Спасибо большое.
Через handler действительно помогло.
0
08.01.2014, 00:36
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2014, 00:36

Формула для изменения цвета ячейки по дате
Здравствуйте! Помогите пожалуйста в таком конкретном вопросе - нужна конкретна формула для того,...

Добавить кнопки для изменения цвета выделенной ячейки
Возникла задача запрограммировать кнопку при нажатии который изменялся бы цвет выделенной ячейки.

Создайте форму, содержащую кнопки для изменения цвета выделенной ячейки
Создайте форму, содержащую кнопки для изменения цвета выделенной ячейки: синий, красный, зеленый....


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

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

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