yinxiaopei
懒洋洋大人
采纳率75%
2015-06-05 01:06 阅读 3.0k
已采纳

android gridview自定义adapter,adapter中的子控件如何隐藏。

如题所示。我在adapter里想隐藏和显示控件,设置viewHolder.mIvLogo.setVisibility(View.VISIBLE);无效。怎样设置才能有效隐藏显示呢?求帮助!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

6条回答 默认 最新

  • 已采纳
    danielinbiti danielinbiti 2015-06-05 01:12
     viewHolder.mIvLogo.setVisibility(View.VISIBLE);这是显示
     隐藏是
     viewHolder.mIvLogo.setVisibility(View.INVISIBLE);//隐藏但布局占位
     或
     viewHolder.mIvLogo.setVisibility(View.GONE);//布局不占位
    
    点赞 1 评论 复制链接分享
  • qq_22202859 qq_22202859 2015-06-05 01:38

    先在xml文件中 View.GONE 然后在 adapter的getView方法条件判断设置 View.VISIBLE 就可以啦。是不是你条件判断有问题哦

    点赞 评论 复制链接分享
  • u013321495 alice00000 2015-06-05 01:41

    在内部类中调用外部变量需要加final修饰 而final修饰的变量又是不可变的,你前面就好重新赋值,前后矛盾

    点赞 评论 复制链接分享
  • qq_22202859 qq_22202859 2015-06-05 01:42

    像这样
    if(producttable.get(position).getProducthascoupon().equals("false")){
    holder.listjuan.setVisibility(View.GONE);
    }else if (producttable.get(position).getProducthascoupon().equals("true")) {
    holder.listjuan.setVisibility(View.VISIBLE);
    }

        记住一定要设置隐藏和显示判断
    
    点赞 评论 复制链接分享
  • ysy6688 ysy6688 2015-06-05 04:02

    下个断点调试一下就知道了,看程序有没有按你设计的思路走,就能找到问题所在。

    点赞 评论 复制链接分享
  • yinxiaopei 懒洋洋大人 2015-06-05 08:43

    感谢大家的回答,不过我都不知道怎么追问,问题不是适配器的原因,我也没有解决。我再看看是什么原因吧。谢谢你们

    点赞 评论 复制链接分享

相关推荐