效果图,一开始某一个item是默认选中的。
1 首先在你的adapter里面添加
private int selectItem = -1;
public void setSelectItem(int selectItem) {
this.selectItem = selectItem;
}
2 然后再getview里面这样
@Override
public View getView(int position, View convertView, ViewGroup parent) {
.....省略代码
// 点击改变选中listItem的背景色
// A: 首次打开没有item是默认选中的,代码如下,比较简单
if (selectItem== position) {
convertView.setBackgroundColor(Color.parseColor("#E0E0E0"));
} else {
convertView.setBackgroundColor(Color.parseColor("#F2F2F2"));
}}
// B : 首次打开,有一个item是默认选中的,代码如下
if(selectItem == -1){ /* 初始状态,默认当前日期被选中*/
if(currentFlag == position){
//设置当天的背景
convertView.setBackgroundColor(Color.parseColor("#E0E0E0"));
}
}else { /* 选中一个日期,其他item背景消失 */
if (position == selectItem) {
convertView.setBackgroundColor(Color.parseColor("#E0E0E0"));
} else {
convertView.setBackgroundColor(Color.parseColor("#F2F2F2"));
}
}
.....省略代码
}
3 最后在gridview的单击item事件 这样做
//GridView监听事件
gridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView> arg0, View arg1, int position, long arg3) {
.....省略代码
//设置适配器
mSelected=position;
mydapter.setSelectItem(position);
mydapter.notifyDataSetChanged();
.....省略代码
}
});
关于这方面的文章:
1: http://blog.163.com/zhuowh2006@126/blog/static/101823724201314103631112/
2:http://blog..net/dany1202/article/details/6043654
mSelected=position;