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线程)只更新一个视图。