1 首先在你的adapter里面添加
private int clickTemp = -1;
//标识选择的Item
2 然后再getview里面这样
3 最后在gridview的单击item事件 这样做
.....省略代码
//设置适配器
.....省略代码
private int clickTemp = -1;
public void setSeclection(int position) {
clickTemp = position;
}2 然后再getview里面这样
@Override
public View getView(int position, View convertView, ViewGroup parent) {
.....省略代码
// 点击改变选中listItem的背景色
if (clickTemp == position) {
layout.setBackgroundResource(R.drawable.check_in_gdv_bg_s);
} else {
layout.setBackgroundColor(Color.TRANSPARENT);
}}
.....省略代码
}
3 最后在gridview的单击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();
}
});
本文介绍了一种在Android应用中实现GridView选中项高亮显示的方法。通过在Adapter中维护一个标识变量来记录当前选中的条目位置,并在getView()方法中根据不同位置设置不同的背景色,最终结合GridView的点击监听事件更新选中状态。
7761

被折叠的 条评论
为什么被折叠?



