Страница 1 из 1
Как извлеч нужную картинку из массива? Помогите пожалуйста!
Добавлено: 02 фев 2014, 15:28
Максим2014
Уважаемые форумчане. Разъясните начинаюиму. Как сделать следующее? Есть int [] IMAGE {R.drawable.01,R.drawable.02,...........
R.drawable.n,} Нужно что бы каждый час картинка менялась в ImageView. Как извлечь переменную системного времени я вроде бы нашел, а вот как связать массив с ImageView через Calendar, уже месяц бьюсь неполучается. Очень надеюсь на вашу поддержку.
Re: Как извлеч нужную картинку из массива? Помогите пожалуйс
Добавлено: 03 фев 2014, 00:26
altwin
Этот handler стартует Runnable через 100 милисекунд(1 час = 3600000 ms):
[syntax=java]
private Handler handler = new Handler();
handler.postDelayed(runnable, 100);[/syntax]
Далее просто реализация Runable:
[syntax=java]
private Runnable runnable = new Runnable() {
@Override
public void run() {
/* тут меняем картинку */
foobar();
/* а это тот самый "хак" */
handler.postDelayed(this, 100);
}
};[/syntax]
Сам прикол в том, чтобы в конце сказать handler снова ждать интервал и запускать Runnable. Это будет работать каждые 100 ms, как работало бы scheduleAtFixedRate() TimerTask!. Если нужно остановить handler.removeCallback(runnable)
P.S> сам не пробывал, но должно работать, плюс в том, что handler -это более Android way, чем TimeTask.
Re: Как извлеч нужную картинку из массива? Помогите пожалуйс
Добавлено: 03 фев 2014, 05:52
klblk
еще можно попробовать AlarmManager
думаю это будет еще более Android way =)
Re: Как извлеч нужную картинку из массива? Помогите пожалуйс
Добавлено: 03 фев 2014, 11:54
altwin
В принципе, если очень хочется использовать Calendar, вы можете поместить данные в HashMap. Т.е. key/value хранилище, где ключем будет дата в календаре, а значением ваша картинка. Вы можете просто устанавливать картинку по ключу просто запрашивая время и округляя его до ближайшего ключа в "хранилище".
Re: Как извлеч нужную картинку из массива? Помогите пожалуйс
Добавлено: 03 фев 2014, 12:08
Максим2014
Хорошо, а метод для вытаскивания из массива картинки по индексу? Точнее как , допустим handler, укажет что пора вытаскивать третью картинку а не под номером два?
Попробую порыть с HashMap.
Спасибо за поддержку.
Re: Как извлеч нужную картинку из массива? Помогите пожалуйс
Добавлено: 03 фев 2014, 12:20
altwin
Максим2014 писал(а):Точнее как , допустим handler, укажет что пора вытаскивать третью картинку а не под номером два?.
Вы можете расположить картинки в порядке отображения, показанную помещать в конец, так они все будут по порядку отображаться.
Re: Как извлеч нужную картинку из массива? Помогите пожалуйс
Добавлено: 07 фев 2014, 23:22
Максим2014
HashMap реально помог. Спасибо друзья.
Теперь немогу запустить обновление картинки. Время меняю а картинка прежняя

invalidate() - не клеется ни как.