WindKun 2013-04-18 05:50 采纳率: 100%
浏览 11345
已采纳

如何更改GridView的item按下去的背景?

如何更改GridView某一个item点下去背景色的变化,系统有个默认,我想改一下,怎么改?

  • 写回答

2条回答 默认 最新

  • 鹳狸媛 2013-04-18 06:12
    关注

    引用网上见到的一个解决方法:android Gridview 点击某个item 改变item的背景

    效果图
    CSDN移动问答
    1 首先在你的adapter里面添加

    private int clickTemp = -1;
               //标识选择的Item
    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();
                         .....省略代码
    }
    });
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵