Android : Несколько одновременных таймеров обратного отсчета в ListView

Я создаю приложение, для которого требуется ListView с неопределенным числом элементов, каждый из которых имеет таймер, отсчитывающий от номера переменной. Я могу успешно выполнить отсчет одного из них, но я не могу понять, как включить таймер в каждый элемент ListView.

В настоящее время я использую CountDownTimer (убедитесь, что вы используете заглавную букву D, если копируете с веб-сайта, они ошибаются).

Мы очень ценим любой код или источники, указывающие мне в правильном направлении.

Вот мой текущий класс EventAdapter, он устанавливает текст, отображаемый в TextView каждого элемента ListView. Что мне нужно сделать, так это заставить TextView отсчитывать каждую секунду. Поскольку каждый элемент ListView отображает что-то свое, я полагаю, мне нужен способ дифференцировать каждый элемент.

Я мог бы просто обновлять весь список каждую секунду, но есть и другие элементы, которые я не включил, например изображения, загруженные из Интернет, что было бы непрактично обновлять каждую секунду.

private class EventAdapter extends ArrayAdapter
{
    private ArrayList items;

    public EventAdapter(Context context, int textViewResourceId, ArrayList items) {
        super(context, textViewResourceId, items);
        this.items = items;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View v = convertView;
        if (v == null) {
            LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            v = vi.inflate(R.layout.row, null);
        }

        Event e = items.get(position);

        if (e != null) {
            TextView tv = (TextView) v.findViewById(R.id.text);

            if (tv != null)
                tv.setText(e.getName());
        }
        return v;
    }
}

11
задан Kevin Cooper 15 June 2011 в 02:15
поделиться