Android recyclerView/listview的点击变色、点击换背景颜色
2018-03-09 15:07
1251 查看
一言不合就上图
点击变色:
这里没有用到什么高大上的技术点,只是静下心好好想想“面向对象”,利用一点小逻辑。
我这里用的是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); }1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
紧接着是在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(); } });1
2
3
4
5
6
7
8
9
10
11
12
13
ok大功告成
强调几点:1我的Android studio是2.3.3版本,SDK是-v7:26.+’
compile 'com.android.support:appcompat-v7:26.+'
轉自:http://blog.csdn.net/yueorange/article/details/79095537
相关文章推荐
- Android recyclerView/listview的点击变色、点击换背景颜色
- Android 点击ListView(或GridView)的一个item,使其里面textview变色,点击另一个这个恢复原来颜色
- android listview内的TextView会在点击item的时候灰变背景颜色
- Android listview 点击Item更换背景颜色
- Android 点击控件(比如ListView中item),抬起后,保持按下的背景颜色
- Android中的ListView点击时的背景颜色设置
- android中TextView 添加ClickableSpan后点击选中文字背景变色问题
- Android自定义控件3:带边框点击背景变色的textview,原型是支付宝手机充值中话费充值按钮
- 史上最全selector和shape使用方法 Android ListView 列表项点击之后,保持背景颜色
- Android RecyclerView ListView 获取不到Item点击事件
- Android TextView的点击效果之改变背景颜色
- Android中的ListView点击时的背景颜色设置
- Android解决GridView或ListView点击背景变色问题
- Android ListView item 点击背景不变色
- 【android】设置View字体点击变色和边框背景设置
- android listview item点击时更改textview的颜色 代码中实现
- android listview 设置点击item背景颜色效果
- Android 代码模拟ListView item的点击事件并且改变背景颜色(笔记)
- Android知识点记录: 使用代码设置 android 上listView的条目的点击背景颜色
- Android中的ListView点击时的背景颜色设置