Использование базовой функции R aggregate
:
aggregate(value ~ name, dat1, I)
# name value.1 value.2 value.3 value.4
#1 firstName 0.4145 -0.4747 0.0659 -0.5024
#2 secondName -0.8259 0.1669 -0.8962 0.1681
Вы можете использовать обработчик с .postDelayed () и настроить его на наличие рекурсивной структуры, поэтому каждый раз через него будет изменен цвет, а затем будет опубликован следующий runnable, чтобы скрыть несколько секунд позже.
Попробуйте запустить часть циклического цвета кода в отдельном потоке. Например,
Thread thread = new Thread( new Runnable() {
public void run() {
while(true) {
int number = // generate random number ;
runOnUiThread( new Runnable() {
public void run() {
TextView text = // get your TextView ;
text.setTextColor(number);
{
{
try {
Thread.sleep(DELAY);
} catch (InterruptedException e) {}
}
}
}
thread.start();
Вам нужно будет запустить код, который фактически изменяет TextView через runOnUiThread
, потому что Android не разрешает другим потокам изменять части Activity.