那么我们来实现这样的效果
1、首先,我们在对应的adapter里面添加
private int clickItemPosition=-1;
//标识选中的item
public void setSelectPosition(int position){
clickItemPosition=position;
}
2、在getView里面添加代码
@Override
public View getView(int position, View convertView, ViewGroup parent) {
.....省略代码
//点击改变选中listitem的背景颜色
if (clickItemPosition== i) {
vHolder.typeName.setBackgroundResource(R.drawable.search_text_select_rectangle);
vHolder.typeName.setTextColor(context.getResources().getColor(R.color.colorWhite));
} else {
vHolder.typeName.setBackgroundResource(R.drawable.search_text_unselect_rectangle);
vHolder.typeName.setTextColor(context.getResources().getColor(R.color.color_7f7f7f));
}
.....省略代码
}
3、最后在getView的单击item事件引用这个方法
//GridView监听事件
designOrderGridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
//arg1是当前item的view,通过它可以获得该项中的各个组件。
//arg2是当前item的ID。这个id根据你在适配器中的写法可以自己定义。
//arg3是当前的item在listView中的相对位置!
.....省略代码
//设置适配器
mydapter.setSeclection(arg2);
mydapter.notifyDataSetChanged();
.....省略代码
}
});
这样就实现了此效果