Android中GridView中Item点击背景图片的显示改变

本文介绍了一种简单的方法,用于在点击GridView的item时更改其背景颜色。通过在Adapter中使用一个变量来跟踪点击的位置,并在getView方法中根据该变量设置背景色。

       今天在看代码的时候发现一个问题。关于gridView点击其中的item选项而改变这个选项的背景的问题。这里我把我的想法写出来,希望对大家有所帮助。

       在我们点击每个Item的时候,记录它的是由position来实现的。在adapter中我们把这个position当作一个已知的值来赋值给一个变量a,在getView中通过判断值a与参数position是否相等来改变convertView的背景色。这样就能简单的实现点击相应每个点击的效果

       在需要adapter的类中,我们可以通过adapter的实例来控制其中设置变量值a的方法来实现对点击所在位置的值的监听。然后通过notifyDataSetChanged()来刷新。

       如果上面的都做了以后就基本实现了简单的item点击变换背景的效果了。


adapter中标识变量:

public void setClick(int position){
a = position;
}

在getView中设置监听:
public View getView(int position, View convertView, ViewGroupparent) {
.....//
// 点击改变选中Item的背景色
if (a == position) {
convertView.setBackgroundResource(int值);
} else {
convertView.setBackgroundColor();
}}
                .....//
}

在需要adapter的类中:
//initView初始化UI时,GridView监听事件
designOrderGridView.setOnItemClickListener(newOnItemClickListener() {
@Override
public voidonItemClick(
AdapterView<?> parent, View view, int position,long id
) {
                    ........//其他代码
               //设置适配器
adapter.setClick(position);
adapter.notifyDataSetChanged();
                   ........//其他代码
}
});


对上面的代码的一些小解释:

OrderGridView.setOnItemClickListener(newOnItemClickListener() {
@Override
public voidonItemClick(AdapterView<?> parent, View view, int position,
                long id)
各项的意义:parent是点击的当前适配器
         view是当前item的view,通过它可以获得该项中的各个组件。 
         position是当前item的ID。这个id根据你在适配器中的写法可以自己定义。 
         id是当前的item在listView中的相对位置!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值