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

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

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

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

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

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

Обеспечить смену цвета background'a
Как поменять цвет background'a во время работы приложения? То есть,чтобы при...

Цвет Background определенного итема ListView
надо программно изменить цвет фона определенного пункта ListView, как такое...

Как раскрасить в цвета элементы ListView
Как раскрасить в цвета элементы ListView

Изменение цвета текста в отдельной ячейке ListView
Здравствуйте! У меня такой вопрос: имеется ListView, на который также наложенo...

8
korsaj
148 / 117 / 9
Регистрация: 16.08.2013
Сообщений: 539
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
148 / 117 / 9
Регистрация: 16.08.2013
Сообщений: 539
07.01.2014, 23:25 4
Вынесите изменение цвета кнопки из try.
0
olorin3000
2 / 2 / 0
Регистрация: 27.09.2012
Сообщений: 48
07.01.2014, 23:42  [ТС] 5
Цитата Сообщение от korsaj Посмотреть сообщение
Вынесите изменение цвета кнопки из try.
Не помогло.
0
korsaj
148 / 117 / 9
Регистрация: 16.08.2013
Сообщений: 539
07.01.2014, 23:49 6
Код выкладывайте.
0
olorin3000
2 / 2 / 0
Регистрация: 27.09.2012
Сообщений: 48
08.01.2014, 00:06  [ТС] 7
А заяем мне код выкладывать?
Я просто хочу понять в чем причина вот на этом простом примере.
0
korsaj
148 / 117 / 9
Регистрация: 16.08.2013
Сообщений: 539
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2014, 00:36

ListView ячейки, получить Id элемента из SQLite
есть база данных SQLITE. некоторые элементы БД выводятся в ListView через...

Замена элемента в ListView
Доброго времени суток, форумчане! Столкнулся с проблемой есть ListView у...

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


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

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

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