Android recyclerView/listview的点击变色、点击换背景颜色
2018-01-18 14:07
1761 查看
一言不合就上图
点击变色:
这里没有用到什么高大上的技术点,只是静下心好好想想“面向对象”,利用一点小逻辑。
我这里用的是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() { @Override public 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.+'
相关文章推荐
- Android recyclerView/listview的点击变色、点击换背景颜色
- Android 点击ListView(或GridView)的一个item,使其里面textview变色,点击另一个这个恢复原来颜色
- android listview内的TextView会在点击item的时候灰变背景颜色
- Android中的ListView点击时的背景颜色设置
- Android listview 点击Item更换背景颜色
- Android解决GridView或ListView点击背景变色问题
- android listview item点击时更改textview的颜色 代码中实现
- android中TextView 添加ClickableSpan后点击选中文字背景变色问题
- 史上最全selector和shape使用方法 Android ListView 列表项点击之后,保持背景颜色
- Android 点击控件(比如ListView中item),抬起后,保持按下的背景颜色
- Android RecyclerView ListView 获取不到Item点击事件
- Android中listview的item点击时候去掉背景颜色或者设置成透明的
- Android TextView的点击效果之改变背景颜色
- 在android中当点击ListView的item条目时,使item中的TextView的文字变成其他颜色作为标志
- RecyclerView点击当前item改变 背景颜色
- Android中的ListView点击时的背景颜色设置
- Android中的ListView点击时的背景颜色设置
- ListView中TextView和item背景点击改变颜色
- Android知识点记录: 使用代码设置 android 上listView的条目的点击背景颜色
- Android 关于expandableListView childrenView 点击改变颜色