Android GridView:按位置获取视图

Android GridView:按位置获取视图,android,gridview,Android,Gridview,我正在使用网格视图显示月历。当我触摸日历上的日期时,通过更改其背景和文本颜色来突出显示相应的单元格。每件事都很有魅力,除了如果我选择了一个新的日期,我不能取消突出显示一个单元格 当我点击某个日期时,我会记住该职位,因此当我选择一个新的日期时,我知道我之前点击的位置: protected OnClickListener onClicThisMonthDate(final int position) { return new OnClickListener() { @Ove

我正在使用网格视图显示月历。当我触摸日历上的日期时,通过更改其背景和文本颜色来突出显示相应的单元格。每件事都很有魅力,除了如果我选择了一个新的日期,我不能取消突出显示一个单元格

当我点击某个日期时,我会记住该职位,因此当我选择一个新的日期时,我知道我之前点击的位置:

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);
        }
    };
}
有没有办法通过他的立场来了解情况?选择一个单元格并取消选择所有其他单元格的最有效方法是什么? 注意:“选择单元格”是指通过更改其样式来高亮显示它。

返回组中指定位置的视图


在该位置选择一个视图,取消选择其他视图。

GridView.setSelection不幸无法在触摸模式下工作。Get childAt似乎没有问题,但有没有办法只更新此视图而不是全部gridview?调用view.invalidate()(从UI线程)或view.postInvalidate()(从非UI线程)只更新一个视图。