冲刺第十二天
UI:
代码:
SelectBarberDayAdapter.java
package com.example.lileme.ThreeFragment.AppointmentButton; import android.content.Context; import android.graphics.Color; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import com.example.lileme.R; import java.util.ArrayList; /** * Created by Administrator on 2016/7/16. */ class SelectBarberDayAdapter extends RecyclerView.Adapter<SelectBarberDayAdapter.MyViewHolder> { private Context context; private ArrayList<RecyclerData> list; private int defItem = -1; private OnItemListener onItemListener; public SelectBarberDayAdapter(Context context, ArrayList<RecyclerData> list) { this.context=context; this.list=list; } public void setOnItemListener(OnItemListener onItemListener) { this.onItemListener = onItemListener; } public interface OnItemListener { void onClick(MyViewHolder holder, int position); } public void setDefSelect(int position) { this.defItem = position; } @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { MyViewHolder holder = new MyViewHolder(LayoutInflater.from( context).inflate(R.layout.layout_select_barber_day, parent, false)); return holder; } @Override public void onBindViewHolder(final MyViewHolder holder, final int position) { holder.tv.setText(list.get(position).content); RecyclerData re=list.get(position); if(position == 0){ holder.tv.setSelected(true); holder.tv.setTextColor(Color.parseColor("#ffffff")); holder.tv.setBackgroundResource(R.drawable.btn_day_hour_select); } if (defItem != -1) { if (defItem == position) { // 点击的位置 if(re.isSelect==true){ // 选中状态 holder.tv.setTextColor(Color.parseColor("#ffffff")); holder.tv.setBackgroundResource(R.drawable.btn_day_hour_select); }else { holder.tv.setTextColor(Color.parseColor("#000000")); holder.tv.setBackgroundResource(R.drawable.btn_day_hour_unselect); } } else { // 没有点击的位置都变成默认背景 holder.tv.setTextColor(Color.parseColor("#000000")); holder.tv.setBackgroundResource(R.drawable.btn_day_hour_unselect); list.get(position).isSelect=false; } } holder.tv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (onItemListener != null) { onItemListener.onClick(holder, position); } } }); } @Override public int getItemCount() { return list.size(); } /** * ViewHolder的类,用于缓存控件 */ class MyViewHolder extends RecyclerView.ViewHolder { TextView tv; public MyViewHolder(View view) { super(view); tv = view.findViewById(R.id.tv_day); } } }
layout_select_barber_day.xml
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="90dp" 4 android:layout_height="wrap_content" 5 android:orientation="vertical"> 6 7 <TextView 8 android:id="@+id/tv_day" 9 android:layout_width="match_parent" 10 android:layout_height="80dp" 11 android:gravity="center" 12 android:text="周二06-10" 13 android:textSize="16dp" 14 android:background="@drawable/btn_day_hour_unselect" 15 /> 16 </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的设计差异
· 三行代码完成国际化适配,妙~啊~