nClickListener不工作的第一个项目里面的GridVi

nClickListener不工作的第一个项目里面的GridVi

本文介绍了OnClickListener不工作的第一个项目里面的GridView ViewPager的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

里面ViewPager,也有单项选择题的答案跟textviews和图像的网格一个gridview。当我在任何答案点击,TextView的应该改变其颜色为红色白别的。其工作罚款,但在第一个所有其他的答案。当我第一次点击的gridview的第一个答案,它不会改变颜色,在第二次点击它变成红色,但后来当我更改选项,红色不会更改为白色第一个选项。看看下面的屏幕,

对不起屏幕提交不允许我为我是一个新的用户...

GridFragment#OnActivityCreated()

  gridview.setOnItemClickListener(新OnItemClickListener(){        @覆盖
        公共无效onItemClick(适配器视图<>母公司,视图V,INT位置,长ARG3){            当前是=新TestTopics()getCuttentPage()。            电视=((ViewHolder)v.getTag())LBL。            如果(selectedValues​​.containsKey(当前页))
            {                selectedValues​​.get(当前页).setTextColor(Color.WHITE);
                selectedValues​​.remove(当前页);
                selectedValues​​.put(当前是,电视);
                selectedValues​​.get(当前页).setTextColor(Color.RED);            }
            其他
            {                selectedValues​​.put(当前是,电视);
                selectedValues​​.get(当前页).setTextColor(Color.RED);            }        }
    });

ImageAdapter#getView()方法:

 公共查看getView(INT位置,查看convertView,父母的ViewGroup){    numTopics = mTopicList.getNumTopics();
    ViewHolder持有人;
    持有人=新ViewHolder();    如果(convertView == NULL){       INT layoutId = R.layout.demo_pager_grid_item;
       LayoutInflater李=((活动)mContext).getLayoutInflater();
       childView = li.inflate(layoutId,NULL);       holder.img =(ImageView的)childView.findViewById(R.id.image);
       holder.lbl =(TextView中)childView.findViewById(R.id.title);       childView.setTag(保持器);    }其他{        childView = convertView;
        支架=(ViewHolder)childView.getTag();
    }    如果(childView!= NULL){
       //设置子视图的宽度和高度。
       childView.setLayoutParams(新GridView.LayoutParams(mCellWidth,mCellHeight));       INT J =位置+ mImageOffset;       如果(J℃,)J = 0;
       如果(J> = numTopics)J = numTopics - 1;
       ImageView的=(ImageView的)childView.findViewById(R.id.image);
       如果(ImageView的!= NULL){
          资源解析度= mContext.getResources();
          INT imagePadding = res.getDimensionPixelSize(R.dimen.grid_image_padding);          imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
          imageView.setBackgroundResource(R.color.background_grid1_cell);
          imageView.setPadding(imagePadding,imagePadding,imagePadding,imagePadding);
          imageView.setImageBitmap(mTopicList.getTopicImage(J));
          imageView.setTag(新的整数(J));
       }
       的TextView =(TextView中)childView.findViewById(R.id.title);       如果(TextView的!= NULL)
       {                textView.setText(mTopicList.getTopicTitle(J));
                textView.setTag(mTopicList.getTopicTitle(J));
                holder.lbl.setTag(mTopicList.getTopicTitle(J));
       }
    }    返回childView;}

我已经看到此链接:OnClickListener不工作的GridView控件中第一个项目,然后按照答案,但没有得到它成功...

我要去哪里错了?


解决方案

在一个问题回答的编辑。转换为社区维基答案。见What是当一个问题的答案将被添加到问题本身进行相应的操作?)

在OP写道:

这篇关于OnClickListener不工作的第一个项目里面的GridView ViewPager的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-13 07:48