首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

高亮显示recylerview中的选定行

RecyclerView 是 Android 开发中常用的一个控件,用于展示大数据列表。它是 ListView 的升级版,具有更高的性能和更好的灵活性。

在 RecyclerView 中高亮显示选定行可以通过以下步骤实现:

  1. 首先,创建一个 RecyclerView 实例并设置布局管理器:
代码语言:txt
复制
RecyclerView recyclerView = findViewById(R.id.recyclerView);
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(layoutManager);
  1. 创建一个自定义的 Adapter 类,继承自 RecyclerView.Adapter,并重写以下方法:
    • onCreateViewHolder: 创建 ViewHolder 对象,并关联 item 的布局文件。
    • onBindViewHolder: 绑定数据到 ViewHolder 上,并设置高亮显示逻辑。
    • getItemCount: 返回数据项的数量。
代码语言:txt
复制
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
   private List<String> data;
   private int selectedItem = RecyclerView.NO_POSITION; // 初始值为未选中任何行
   
   public MyAdapter(List<String> data) {
       this.data = data;
   }
   
   public static class ViewHolder extends RecyclerView.ViewHolder {
       public TextView textView;
       
       public ViewHolder(View itemView) {
           super(itemView);
           textView = itemView.findViewById(R.id.textView);
       }
   }
   
   @Override
   public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
       View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_layout, parent, false);
       ViewHolder viewHolder = new ViewHolder(view);
       return viewHolder;
   }
   
   @Override
   public void onBindViewHolder(ViewHolder holder, final int position) {
       final String item = data.get(position);
       holder.textView.setText(item);
       
       // 设置选定行的高亮样式
       if (position == selectedItem) {
           holder.itemView.setBackgroundColor(Color.YELLOW);
       } else {
           holder.itemView.setBackgroundColor(Color.TRANSPARENT);
       }
       
       // 点击行时更新选中状态
       holder.itemView.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View v) {
               selectedItem = position;
               notifyDataSetChanged();
           }
       });
   }
   
   @Override
   public int getItemCount() {
       return data.size();
   }
}
  1. 将自定义的 Adapter 设置给 RecyclerView:
代码语言:txt
复制
MyAdapter adapter = new MyAdapter(dataList);
recyclerView.setAdapter(adapter);

通过以上步骤,就能够在 RecyclerView 中实现选定行的高亮显示效果。用户点击某一行时,该行会被高亮显示,其他行则恢复为普通样式。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Python3教程——5、Python3

    Ctrl + Space 基本的代码完成(类、方法、属性) Ctrl + Alt + Space 类名完成 Ctrl + Shift + Enter 语句完成 Ctrl + P 参数信息(在方法中调用参数) Ctrl + Q 快速查看文档 Shift + F1 外部文档 Ctrl + 鼠标 简介(左键点击即可看到该函数或变量的位置) Ctrl + F1 显示错误描述或警告信息 Alt + Insert 自动生成代码 Ctrl + O 重新方法 Ctrl + Alt + T 选中 Ctrl + / 行注释(再次点击,解除注释,可同时选择多行一起注释) Ctrl + Shift + / 块注释 Ctrl + W 选中增加的代码块 Ctrl + Shift + W 回到之前状态 Ctrl + Shift + ]/[ 选定代码块结束、开始 Alt + Enter 快速修正 Ctrl + Alt + L 代码格式化 Ctrl + Alt + O 优化导入 Ctrl + Alt + I 自动缩进 Tab / Shift + Tab 缩进、不缩进当前行 Ctrl+X/Shift+Delete 剪切当前行或选定的代码块到剪贴板 Ctrl+C/Ctrl+Insert 复制当前行或选定的代码块到剪贴板 Ctrl+V/Shift+Insert 从剪贴板粘贴 Ctrl + Shift + V 从最近的缓冲区粘贴 Ctrl + D 复制选定的区域或行 Ctrl + Y 删除选定的行 Ctrl + Shift + J 添加智能线 Ctrl + Enter 智能线切割 Shift + Enter 另起一行 Ctrl + Shift + U 在选定的区域或代码块间切换 Ctrl + Delete 删除到字符结束 Ctrl + Backspace 删除到字符开始 Ctrl + Numpad+/- 展开折叠代码块 Ctrl + Numpad+ 全部展开 Ctrl + Numpad- 全部折叠 Ctrl + F4 关闭运行的选项卡

    02

    IDM UltraEdit Pro v26. 中文绿色便携版

    IDM UltraEdit Pro是一款专业的文本/十六进制编辑器,拥有强大的文本编辑功能,可以编辑文本、十六进制、ASCII码等各种文本内容,是目前最为强大的记事本软件,可以完全替代系统自带的记事本!UltraEdit是世界上领先的,功能强大的,极具价值的文本编辑器、十六进制编辑器、HTML编辑器、PHP编辑器、Javascript编辑器、Perl 编辑器和程序编辑器。UltraEdit是款全球功能一流的文本编辑软件,支持配置高亮语法和几乎所有编程语言的代码结构。内建英文单字检查,可同时编辑多个文件,编辑功能强大,具有代码提示、折叠、列操作等人性化功能。能够满足你一切编辑需要的文本编辑器,使用它可以编辑文本、十六进制、ASCII码,可以取代记事本,内置英文单字检查、C++及VB指令突显,可同时编辑多个文件,而且即使开启很大的文件速度也不会慢。软件附有HTML标签颜色显示、搜寻替换以及无限制的还原功能。支持配置高亮语法和几乎所有编程语言的代码结构。

    02
    领券