冲刺第十三天
SelectBarberHourAdapter.java
1 package com.example.lileme.ThreeFragment.AppointmentButton; 2 3 4 import android.content.Context; 5 import android.graphics.Color; 6 import android.support.v7.widget.RecyclerView; 7 import android.view.LayoutInflater; 8 import android.view.View; 9 import android.view.ViewGroup; 10 import android.widget.TextView; 11 12 import com.example.lileme.R; 13 14 import java.util.ArrayList; 15 16 /** 17 * Created by Administrator on 2016/7/16. 18 */ 19 class SelectBarberHourAdapter extends RecyclerView.Adapter<SelectBarberHourAdapter.MyViewHolder> { 20 private Context context; 21 private ArrayList<RecyclerData> list; 22 23 private int defItem = -1; 24 private OnItemListener onItemListener; 25 26 public SelectBarberHourAdapter(Context context, ArrayList<RecyclerData> list) { 27 this.context=context; 28 this.list=list; 29 } 30 public void setOnItemListener(OnItemListener onItemListener) { 31 this.onItemListener = onItemListener; 32 } 33 public interface OnItemListener { 34 void onClick(MyViewHolder holder, int position); 35 } 36 public void setDefSelect(int position) { 37 this.defItem = position; 38 // notifyDataSetChanged(); 39 } 40 41 42 @Override 43 public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 44 MyViewHolder holder = new MyViewHolder(LayoutInflater.from( 45 context).inflate(R.layout.layout_select_barber_hour_item, parent, 46 false)); 47 return holder; 48 } 49 50 @Override 51 public void onBindViewHolder(final MyViewHolder holder, final int position) { 52 holder.tv.setText(list.get(position).content); 53 RecyclerData re=list.get(position); 54 if(position == 0){ 55 holder.tv.setSelected(true); 56 holder.tv.setTextColor(Color.parseColor("#ffffff")); 57 holder.tv.setBackgroundResource(R.drawable.btn_day_hour_select); 58 } 59 if (defItem != -1) { 60 if (defItem == position) { 61 // 点击的位置 62 if(re.isSelect==true){ 63 // 选中状态 64 holder.tv.setTextColor(Color.parseColor("#ffffff")); 65 holder.tv.setBackgroundResource(R.drawable.btn_day_hour_select); 66 }else { 67 holder.tv.setTextColor(Color.parseColor("#000000")); 68 holder.tv.setBackgroundResource(R.drawable.btn_day_hour_unselect); 69 } 70 71 } else { 72 // 没有点击的位置都变成默认背景 73 holder.tv.setTextColor(Color.parseColor("#000000")); 74 holder.tv.setBackgroundResource(R.drawable.btn_day_hour_unselect); 75 list.get(position).isSelect=false; 76 } 77 } 78 holder.tv.setOnClickListener(new View.OnClickListener() { 79 @Override 80 public void onClick(View v) { 81 if (onItemListener != null) { 82 onItemListener.onClick(holder, position); 83 } 84 } 85 }); 86 87 88 } 89 90 @Override 91 public int getItemCount() { 92 return list.size(); 93 } 94 95 /** 96 * ViewHolder的类,用于缓存控件 97 */ 98 class MyViewHolder extends RecyclerView.ViewHolder { 99 TextView tv; 100 101 public MyViewHolder(View view) { 102 super(view); 103 tv = (TextView) view.findViewById(R.id.tv_hour); 104 } 105 106 107 } 108 }
layout_select_barber_hour_item.xml
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="110dp" 4 android:layout_height="wrap_content" 5 android:orientation="vertical"> 6 7 <TextView 8 android:id="@+id/tv_hour" 9 android:layout_width="match_parent" 10 android:layout_height="80dp" 11 android:gravity="center" 12 android:text="1" 13 android:background="@drawable/btn_day_hour_unselect" 14 /> 15 </LinearLayout>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~