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

       今天在看代码的时候发现一个问题。关于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中的相对位置!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值