专栏首页james大数据架构android获得ImageView图片的等级

android获得ImageView图片的等级

android获得ImageView图片的等级问题

要实现的功能如下图,点击分享能显示选中与不选中状态,然后发送是根据状态来实现具体分享功能。

在gridview中有5个子项,每个子元素都有两张图片A,B的level设置分别为0,1;点击图片使图片AB切换,前题是要能知道当前图片的等级。但这里只有设置等级的方法,设置图片的等级setImageLevel(1);

Debug时能看到当前子元素的图片等级,如下:

不能获得当前等级,只能更换思路:定义一个数组,对应每个子元素的状态

 final int[] listSeld = new int[] { 0, 0, 0, 0, 0 };// 0未选中,1选中

然后在gridview点击事件中获得当前子元素后根据当前状态,更改等级,如下:

// 添加点击事件
        platformLayout.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View view, int arg2, long arg3) {
                // arg1是当前item的view,通过它可以获得该项中的各个组件。
                // arg2是当前item的ID。这个id根据你在适配器中的写法可以自己定义。
                // arg3是当前的item在listView中的相对位置!
                ImageView ss_indicator = (ImageView) view.findViewById(R.id.ss_indicator);
                // if (ss_indicator.isSelected()) {
                // ss_indicator.setSelected(false);
                if (listSeld[arg2] == 0) {
                    // 若未选中,则置为选中
                    listSeld[arg2] = 1;
                    ss_indicator.setImageLevel(1);
                } else {
                    listSeld[arg2] = 0;
                    ss_indicator.setImageLevel(0);
                }
                // } else {
                // ss_indicator.setSelected(true);

                // }

                int index = arg2 + 1;// id是从0开始的,所以需要+1
                Toast.makeText(getApplicationContext(), "你按下了选项:" + index, 0).show();
            }
        });

这样的好处是最后能知道选中的集合。 还有一种方法是isSelected方法,如注释部分,但最终不如第一种方案好。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JQuery实现仿sina新浪微博新鲜事滚动

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or...

    欢醉
  • 网页超过一屏时自动浮动在网页最上方的图层特效

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>adsorpti...

    欢醉
  • 0基础搭建Hadoop大数据处理-初识

      在互联网的世界中数据都是以TB、PB的数量级来增加的,特别是像BAT光每天的日志文件一个盘都不够,更何况是还要基于这些数据进行分析挖掘,更甚者还要实时进行数...

    欢醉
  • Laravel 用户权限管理

    实现基于user,role,permission三表的权限管理 因为一个用户可能拥有多种role,而一种role能同时被多个用户拥有。所以要建立多对多关系。 ...

    mafeifan
  • SpringBoot自定义

    崔笑颜
  • 写在Github被微软收购之际 - Github的那些另类用法

    这几天朋友圈被微软75亿美元收购Github的新闻刷屏了。Jerry也来贡献一篇和Github相关的文章。

    Jerry Wang
  • 关于WannaRen勒索病毒相关的FAQ(附解密工具)

    4月9日,WannaRen勒索病毒作者公布了解密密钥,基于公布的秘钥,绿盟科技研发了相应的解密程序。针对该病毒,我们整理了如下你所关心的FAQ:

    绿盟科技安全情报
  • Swift 有效的字母异位词 - LeetCode

    那么题目就变成了判读两个字符串的组成元素是否是一样的,我们用两个数组获取字符串的所有组成元素,然后排序后比较是否相等:

    韦弦zhy
  • ASP.NET的路由系统:根据路由规则生成URL

    前面我们已经提到过,ASP.NET 的路由系统主要具有两个方面的应用,其一就是通过注册URL模板与物理文件路径的匹配实现请求地址和物理地址的分离;另一个则是通过...

    蒋金楠
  • AI一分钟 | 李开复:AI创业公司估值今年会降20%~30%;谷歌让搜索结果加载速度提升两倍

    创新工场创始人李开复的新书《AI·未来》昨天正式全球发售,在发布现场,李开复谈到目前国内 AI 创业企业现状时表示,今年国内 AI 创业公司的估值整体下降 20...

    AI科技大本营

扫码关注云+社区

领取腾讯云代金券