冲刺第十三天

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>

 

posted @ 2019-05-29 06:30  ZZKZS  阅读(130)  评论(0编辑  收藏  举报
/*鼠标跟随效果*/