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
package com.test.app.adapters; | |
import android.content.ContentResolver; | |
import android.content.Context; | |
import android.net.Uri; | |
import android.support.v7.widget.RecyclerView; | |
import android.view.LayoutInflater; | |
import android.view.View; | |
import android.view.ViewGroup; | |
import android.widget.TextView; | |
import com.facebook.drawee.view.SimpleDraweeView; | |
import com.test.app.R; | |
import com.test.app.classes.FriendsDataObject; | |
import java.util.ArrayList; | |
public class FriendsAdapter extends RecyclerView.Adapter<FriendsAdapter.ViewHolder> { | |
private ArrayList<FriendsDataObject> mDataset; | |
Context mContext; | |
// Provide a reference to the views for each data item | |
// Complex data items may need more than one view per item, and | |
// you provide access to all the views for a data item in a view holder | |
public class ViewHolder extends RecyclerView.ViewHolder { | |
// each data item is just a string in this case | |
public TextView mTextView; | |
public SimpleDraweeView mCheckbox; | |
public SimpleDraweeView mSimpleDraweeView; | |
public boolean isChecked = false; | |
public ViewHolder(View v) { | |
super(v); | |
mTextView = (TextView) v.findViewById(R.id.txt_username); | |
mCheckbox = (SimpleDraweeView) v.findViewById(R.id.img_checkbox); | |
mSimpleDraweeView = (SimpleDraweeView) v.findViewById(R.id.img_avatar); | |
// Define click listener for the ViewHolder's View. | |
final Uri imageUri = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + | |
mContext.getResources().getResourcePackageName(R.drawable.selection_checkbox) + '/' + | |
mContext.getResources().getResourceTypeName(R.drawable.selection_checkbox) + '/' + | |
mContext.getResources().getResourceEntryName(R.drawable.selection_checkbox) ); | |
final Uri imageUri2 = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + | |
mContext.getResources().getResourcePackageName(R.drawable.shape_circle) + '/' + | |
mContext.getResources().getResourceTypeName(R.drawable.shape_circle) + '/' + | |
mContext.getResources().getResourceEntryName(R.drawable.shape_circle) ); | |
v.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View v) { | |
if (isChecked) { | |
isChecked = false; | |
mCheckbox.setImageURI(imageUri); | |
} | |
else{ | |
isChecked = true; | |
mCheckbox.setImageURI(imageUri2); | |
} | |
} | |
}); | |
} | |
} | |
// Provide a suitable constructor (depends on the kind of dataset) | |
public FriendsAdapter(ArrayList<FriendsDataObject> myDataset, Context myContext) { | |
mDataset = myDataset; | |
mContext = myContext; | |
} | |
// Create new views (invoked by the layout manager) | |
@Override | |
public ViewHolder onCreateViewHolder(ViewGroup parent, | |
int viewType) { | |
// create a new view | |
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.listview_item, parent, false); | |
// set the view's size, margins, paddings and layout parameters | |
ViewHolder vh = new ViewHolder(v); | |
return vh; | |
} | |
// Replace the contents of a view (invoked by the layout manager) | |
@Override | |
public void onBindViewHolder(ViewHolder holder, int position) { | |
// - get element from your dataset at this position | |
// - replace the contents of the view with that element | |
final TaggeableFriendsDataObject o = mDataset.get(position); | |
final Uri imageUri = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + | |
mContext.getResources().getResourcePackageName(R.drawable.selection_checkbox) + '/' + | |
mContext.getResources().getResourceTypeName(R.drawable.selection_checkbox) + '/' + | |
mContext.getResources().getResourceEntryName(R.drawable.selection_checkbox) ); | |
final Uri imageUri2 = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + | |
mContext.getResources().getResourcePackageName(R.drawable.shape_circle) + '/' + | |
mContext.getResources().getResourceTypeName(R.drawable.shape_circle) + '/' + | |
mContext.getResources().getResourceEntryName(R.drawable.shape_circle) ); | |
if( o != null) { | |
holder.mTextView.setText(o.name); | |
Uri url = Uri.parse(o.picture.data.url); | |
holder.mSimpleDraweeView.setImageURI(url); | |
if(o.selected == false){ | |
holder.mCheckbox.setImageURI(imageUri2); | |
} | |
else{ | |
holder.mCheckbox.setImageURI(imageUri); | |
} | |
} | |
} | |
// Return the size of your dataset (invoked by the layout manager) | |
@Override | |
public int getItemCount() { | |
return mDataset.size(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment