Created
July 2, 2015 15:42
-
-
Save ntorvik/73de30aa6862a66e6102 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class MyTaskListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { | |
OnItemClickListener mItemClickListener; | |
Context context; | |
List<Task> dataSet; | |
Database database; | |
public MyTaskListAdapter(Context context, List<Task> dataSet, Database database) { | |
this.context = context; | |
this.dataSet = dataSet; | |
this.database = database; | |
} | |
@Override | |
public long getItemId(int position) { | |
return super.getItemId(position); | |
} | |
@Override | |
public int getItemViewType(int pos) { | |
Task task = dataSet.get(pos); | |
if (task.getTask_type().equals("email")) { | |
return 0; // arbitrary number to = Email type | |
} | |
if (task.getTask_type().equals("sms")) { | |
return 1; // arbitrary number to = SMS type | |
} | |
return super.getItemViewType(pos); | |
} | |
@Override | |
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { | |
switch(viewType) { | |
case 0: { | |
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.cardview_email, parent, false); | |
return new myViewHolder(v); | |
} | |
case 1: { | |
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.cardview_sms, parent, false); | |
return new myViewHolder(v); | |
} | |
} | |
return null; | |
} | |
@Override | |
public void onBindViewHolder(RecyclerView.ViewHolder vHolder, int pos) { | |
Task task = dataSet.get(pos); | |
myViewHolder holder = (myViewHolder) vHolder; | |
holder.title.setText("Title: " + (String) task.getTask_title()); | |
// ** SNIPPED FOR BREVITY | |
} | |
@Override | |
public int getItemCount() { | |
return dataSet.size(); | |
} | |
public class myViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener | |
{ | |
TextView title; | |
public myViewHolder(View itemView) { | |
super(itemView); | |
title = (TextView) itemView.findViewById(R.id.task_title); | |
title.setSingleLine(); | |
title.setHorizontallyScrolling(false); | |
title.setEllipsize(TextUtils.TruncateAt.END); | |
itemView.setOnClickListener(this); | |
} | |
@Override | |
public void onClick(View v) { | |
if (mItemClickListener != null) { | |
int item = getAdapterPosition(); | |
Task task = dataSet.get(item); | |
mItemClickListener.onItemClick(v, task, item); | |
// getPulseAnimator(itemView, 0.85f, 1.1f).start(); | |
} | |
} | |
} | |
public interface OnItemClickListener { | |
public void onItemClick(View view , Task task, int pos); | |
} | |
public void SetOnItemClickListener(final OnItemClickListener mItemClickListener) { | |
this.mItemClickListener = mItemClickListener; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment