GridView: получить представление по позиции

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

Когда я нажимаю дату, я запоминаю позицию, поэтому, когда я выбираю новую, я знаю, где я щелкнул ранее :

protected OnClickListener onClicThisMonthDate(final int position)
{
    return new OnClickListener() {

        @Override
        public void onClick(View v) 
        {
            if(prevDateSelected > -1 )
            {
                //Get the view by the oldPosition
                //Change its background and text color
            }
            prevDateSelected = position;
            TextView casecal = (TextView) v.findViewById(R.id.case_cal);
            casecal.setBackgroundColor(Color.rgb(93, 94, 94));
            casecal.setTextColor(Color.WHITE);
        }
    };
}

Есть решение получить представление по его позиции? Какой самый эффективный способ выделить одну ячейку и отменить выбор всех остальных? Примечание. Под «выделением ячейки» я подразумеваю выделение ее путем изменения ее стиля.

9
задан grunk 22 August 2012 в 15:00
поделиться