gyymz1992
gyymz1992
采纳率66.7%
2016-10-12 04:29 阅读 1.2k

listview中包含gridview

60

android' listview包含gridview,gridview中单项选择并保存选择过得状态图片

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

7条回答 默认 最新

  • 已采纳
    dongfeng9ge 东风玖哥 2016-10-12 05:02

    取消GridView的滑动就好了

    点赞 评论 复制链接分享
  • gyymz1992 gyymz1992 2016-10-12 05:43

    有人吗回答这个问题吗

    点赞 评论 复制链接分享
  • fengdeweilai WindFutrue 2016-10-12 06:29
    把ListView换成SrcollView试试,
    然后你说的,
    GridView中Item的点击事件!
    点后改变Button状态,然后将信息参数  总和在一起?
    

    (把GirdleView高度设为wrap_contect,应该就不会出现滚动吧)
    不知道有没有说道重点,问题不是很清楚

    点赞 评论 复制链接分享
  • qq_18581651 林雷2.x 2016-10-12 08:46

    用RecyclerView嵌套RecycleView, 第一个RecycleView实现两个界面布局样式,内容recycleView用gridLayoutmanager布局

    点赞 评论 复制链接分享
  • oSanYeCao1234567 RoidCoder 2016-10-12 14:11

    listview包含gridview,要想让GridView的内容都展示出来,就得让重写GridView的onMeasure方法,如下:

      public void onMeasure(int widthMeasureSpec, int heightMeasureSpec)  {  
                    int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,  
                                    MeasureSpec.AT_MOST);  
                    super.onMeasure(widthMeasureSpec, expandSpec);  
    
     }  
    
    点赞 评论 复制链接分享
  • yinbucheng yinbucheng 2016-10-13 04:49

    你的结构是ListView--->gridView
    你可以用个Point point= new Point(x,y)
    x我listView的第几个Item y为gridView的第几个item
    用一个LinkedList来保存所以点击的点

    点击记录add就去,再点下就判断这个坐标在这集合中是否存在和它位置相同的,有就移除

    
    
    点赞 评论 复制链接分享
  • u014610664 wzgiceman 2016-10-17 03:38

    一个RecyclerView就可以解决:
    思路如下:
    1.选用GridLayoutManager模式
    2.动态计算每一行item显示的宽度

      GridLayoutManager manager = new GridLayoutManager(x.app(), 17);
            manager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
                @Override
                public int getSpanSize(int position) {
    //                浊音需要特殊处理
                    if (type == 1) {
                        if (position == 0 || position == 25) {
                            return 17;
                        } else if (position == 31) {
                            return 3;
                        } else if ((position - 1) % spanCount == 0 || position == 26) {
                            return 2;
                        } else {
                            return 3;
                        }
                    }
                    if (position % spanCount == 0) {
                        return 2;
                    } else {
                        return spanCount == 4 ? 5 : 3;
                    }
                }
            });
    

    然后adapter通过标示加载不同的item即可
    3.已经通过这样的方式实现如下需求
    图片说明

    这样是效率最高的做法,其他做法当数据量大时都会有不同程度的卡顿

    点赞 评论 复制链接分享

相关推荐