8
我正在使用網格視圖來顯示月份日曆。當我在日曆上觸摸日期時,通過更改背景和文本顏色突出顯示相應的單元格。一切都像魅力一樣,除非我選擇一個新的日期,我無法取消選中一個單元格。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);
}
};
}
是否有解決方案得到通過他的位置的看法?選擇一個單元並取消選擇所有其他單元的最有效方法是什麼? 注意:通過「選擇一個單元格」我的意思是突出顯示它,通過改變它的風格。
不幸的是,GridView.setSelection不能在觸摸模式下工作。獲取childAt似乎沒問題,但有沒有辦法只更新這個視圖,而不是所有的gridview? – grunk
調用View.invalidate()(來自UI線程)或View.postInvalidate()(來自非UI線程)來更新一個視圖。 – xevincent