本文介绍了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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!