失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Android recyclerView/listview的点击变色 点击换背景颜色

Android recyclerView/listview的点击变色 点击换背景颜色

时间:2018-06-26 21:43:44

相关推荐

Android recyclerView/listview的点击变色 点击换背景颜色

一言不合就上图

点击变色:

这里没有用到什么高大上的技术点,只是静下心好好想想“面向对象”,利用一点小逻辑。

我这里用的是recyclerView控件,在recyclerView的适配器里:

//先声明一个int成员变量private int thisPosition;//再定义一个int类型的返回值方法public int getthisPosition() {return thisPosition;}//其次定义一个方法用来绑定当前参数值的方法//此方法是在调用此适配器的地方调用的,此适配器内不会被调用到public void setThisPosition(int thisPosition) {this.thisPosition = thisPosition;}//在recyclerView的onBindViewHolder重写方法中判断当前position是否是选中的position//如果是就设置背景,不是就设置另一种颜色的背景public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {final RecViewHolderLeft recViewHolderLeft = (RecViewHolderLeft) holder;if (position == getthisPosition()) {recViewHolderLeft.titel.setBackgroundColor(Color.YELLOW);} else {recViewHolderLeft.titel.setBackgroundColor(Color.WHITE);}

紧接着是在activity或者fragment的点击条目事件的地方进行调用适配器内的setThisPosition方法和点击事件的position进行绑定

RecAdapterLeft recAdapterLeft = new RecAdapterLeft(getActivity(), leftBean);recViewL.setAdapter(recAdapterLeft);//recyclerView的点击事件(点击事件是recyclerView专属的自定义回传接口)//不是recyclerView的话点击事件有所不同recAdapterLeft.setOnRecyclerViewItemClickListener(new RecAdapterLeft.OnItemClickListener() {@Overridepublic void onClick(int position) {//拿适配器调用适配器内部自定义好的setThisPosition方法(参数写点击事件的参数的position)recAdapterLeft.setThisPosition(position);//嫑忘记刷新适配器recAdapterLeft.notifyDataSetChanged();}});

ok大功告成

强调几点:

1我的Android studio是2.3.3版本,SDK是-v7:26.+’

compile 'com.android.support:appcompat-v7:26.+'

轉自:/yueorange/article/details/79095537

如果觉得《Android recyclerView/listview的点击变色 点击换背景颜色》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。