android - Listview里面Headerview的问题

查看:79
本文介绍了android - Listview里面Headerview的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

Listview添加了Headerview,Headerview里面有一个Gridview显示图片,结果Gridview图片无法响应点击事件?!

        LayoutInflater inflater=(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View Header=inflater.inflate(R.layout.card_view_detail,null);
        mListView.addHeaderView(Header);
        mListView.setAdapter(null);
        
        final MyGridView de_images1=(MyGridView)Header.findViewById(R.id.de_images1);
        
        //判断微博中是否有图片
        if (!StringUtil.isEmpty(list.thumbnail_pic)){
            final ArrayList<String> list2=list.pic_urls;
            de_r14.setVisibility(View.VISIBLE);
            //九宫格显示图片
            int w=0;
            int wh=(SysUtils.getScreenWidth(WeiboDetail.this)- SysUtils.Dp2Px(WeiboDetail.this, 99))/3;
            switch (list2.size()){
                case 1:
                    w=wh;
                    de_images1.setNumColumns(1);
                    break;
                case 2:
                case 4:
                    w=2*wh+ SysUtils.Dp2Px(WeiboDetail.this, 2);
                    de_images1.setNumColumns(2);
                    break;
                case 3:
                case 5:
                case 6:
                    w=wh*3+SysUtils.Dp2Px(WeiboDetail.this, 2)*2;
                    de_images1.setNumColumns(3);
                    break;
                case 7:
                case 8:
                case 9:
                    w=wh*3+SysUtils.Dp2Px(WeiboDetail.this, 2)*2;
                    de_images1.setNumColumns(3);
                    break;
            }
            RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(w, RelativeLayout.LayoutParams.WRAP_CONTENT);
            de_images1.setLayoutParams(lp);
            GridViewAdapter nearByInfoImgsAdapter = new GridViewAdapter(WeiboDetail.this, list2);
            de_images1.setAdapter(nearByInfoImgsAdapter);
            //点击事件,点击没反应
            de_images1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> arg0, View arg1,int arg2, long arg3) {
                    Intent intent = new Intent(WeiboDetail.this, ImagePagerActivity.class);
                    
                    intent.putExtra(ImagePagerActivity.EXTRA_IMAGE_URLS, Tools.getOriginalPicUrls(list2));
                    intent.putExtra(ImagePagerActivity.EXTRA_IMAGE_INDEX, arg2);
                    startActivity(intent);
                }
            });
        }else {
            de_r14.setVisibility(View.GONE);
        }

解决方案

你代码都没有,只能说一般套路绑定该控件实现监听事件

这篇关于android - Listview里面Headerview的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆