package com.example.buyuunion.ui.Adapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.example.buyuunion.R;
import com.example.buyuunion.model.domain.SelectedPageCategory;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
public class SelectedListLeft extends RecyclerView.Adapter<SelectedListLeft.Myholder> {
private List<SelectedPageCategory.DataBean> datas = new ArrayList<>();
private Object TAG = "SelectedListLeft";
@BindView(R.id.selected_left_title)
public TextView selected_left_title;
private OnClick mOnClick;
private int mCurrentposition = 0;
@NonNull
@Override
public Myholder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View mItemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.selected_list_left,parent,false);
ButterKnife.bind(this, mItemView);
return new Myholder(mItemView);
}
@Override
public void onBindViewHolder(@NonNull Myholder holder, int position) {
holder.init(position);
}
@Override
public int getItemCount() {
return datas.size();
}
@Override
public int getItemViewType(int position) {
return position;
}
public void setdata(List<SelectedPageCategory.DataBean> data) {
datas.clear();
datas.addAll(data);
notifyDataSetChanged();
}
public class Myholder extends RecyclerView.ViewHolder {
public Myholder(@NonNull View itemView) {
super(itemView);
}
public void init(int position) {
if (mCurrentposition == position) {
selected_left_title.setBackgroundColor(selected_left_title.getResources().getColor(R.color.SelectedPress));
}else {
selected_left_title.setBackgroundColor(selected_left_title.getResources().getColor(R.color.white));
}
if (datas.size() > 0) {
selected_left_title.setText(datas.get(position).getFavorites_title());
}
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mOnClick != null && mCurrentposition != position) {
mCurrentposition = position;
mOnClick.getOnClick(datas.get(position));
notifyDataSetChanged();
}
}
});
}
}
public interface OnClick{
void getOnClick(SelectedPageCategory.DataBean dataBean);
}
public void setonClick(OnClick onClick){
mOnClick = onClick;
}
}
刚开始只要点击其中一个数据就会出现数据重复问题但是可以出现按压效果 ,然后添加了 @Override
public int getItemViewType(int position) {
return position;
}
后,点击数据不在重复了,但是没有按压效果。
什么是按压效果