Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class RecyclerCamerasAdapter extends RecyclerView.Adapter<RecyclerCamerasAdapter.ViewHolder> {
- private Context mContext;
- private TwoWayView mRecyclerView;
- public List<Camera> mCamerasList = new ArrayList<Camera>();
- private Camera mCamera;
- private final int mLayoutId;
- // private ImageLoadingListener animateFirstListener = new AnimateFirstDisplayListener();
- private OnOpenDetailsClick mCallbackDetails;
- public RecyclerCamerasAdapter(Context context, List<Camera> items, OnOpenDetailsClick callback,TwoWayView recyclerView, int layoutId) {
- mContext = context;
- mCamerasList.addAll(items);
- mCallbackDetails = callback;
- mRecyclerView = recyclerView;
- mLayoutId = layoutId;
- }
- @Override
- public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int position) {
- return new ViewHolder(LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.adapter_camera, viewGroup, false));
- }
- @Override
- public void onBindViewHolder(ViewHolder viewHolder, int position) {
- if (position > getItemCount()-2) {
- mCallbackDetails.loadMore();
- }
- Camera camera = mCamerasList.get(position);
- if(camera != null) {
- String cityName = camera.getCity();
- String statePrefix = camera.getStatePrefix();
- String title = camera.getTitle();
- if(cityName != null && statePrefix != null && !cityName.equals("") && !statePrefix.equals("")) {
- viewHolder.cityName.setVisibility(View.VISIBLE);
- viewHolder.cityName.setText(new StringBuilder(cityName).append(" - ").append(statePrefix));
- } else {
- viewHolder.cityName.setVisibility(View.GONE);
- }
- if(title != null && !title.equals("")) {
- viewHolder.cameraName.setVisibility(View.VISIBLE);
- viewHolder.cameraName.setText(title);
- } else {
- viewHolder.cameraName.setVisibility(View.GONE);
- }
- viewHolder.background.setTag(position);
- viewHolder.cameraName.setTag(position);
- viewHolder.cityName.setTag(position);
- viewHolder.background.setOnClickListener(onItemClick);
- viewHolder.background.setOnLongClickListener(onItemLongClick);
- viewHolder.background.setOnTouchListener(onItemTouchListener);
- viewHolder.cityName.setOnClickListener(onItemClick);
- viewHolder.cityName.setOnLongClickListener(onItemLongClick);
- viewHolder.cityName.setOnTouchListener(onItemTouchListener);
- viewHolder.cameraName.setOnClickListener(onItemClick);
- viewHolder.cameraName.setOnLongClickListener(onItemLongClick);
- viewHolder.cameraName.setOnTouchListener(onItemTouchListener);
- String urlImage = camera.getUrlImage();
- if(urlImage != null) {
- // Test
- // createBlabla("teste", 12, viewHolder.background);
- // ImageLoader.getInstance().displayImage(
- // TagApplication.URL_IMAGE + urlImage,
- // viewHolder.background,
- // TagApplication.options);
- }
- }
- final View itemView = viewHolder.itemView;
- if (mLayoutId == R.layout.layout_staggered_grid) {
- int span = 1;
- if (position % 5 == 0) {
- span = 2;
- }
- final StaggeredGridLayoutManager.LayoutParams lp =
- (StaggeredGridLayoutManager.LayoutParams) itemView.getLayoutParams();
- lp.span = span;
- lp.height = mContext.getResources().getDimensionPixelSize(R.dimen.camera_item);
- itemView.setLayoutParams(lp);
- }
- }
- @Override
- public int getItemCount() {
- return mCamerasList.size();
- }
- public static class ViewHolder extends RecyclerView.ViewHolder {
- public ImageView background;
- public TextView cameraName;
- public TextView cityName;
- public ViewHolder(View itemView) {
- super(itemView);
- cameraName = (TextView) itemView.findViewById(R.id.camera_name);
- cityName = (TextView) itemView.findViewById(R.id.city);
- background = (ImageView) itemView.findViewById(R.id.big_thumbnail);
- }
- }
- //Removed animation for tests
- // private static class AnimateFirstDisplayListener extends SimpleImageLoadingListener {
- // static final List<String> displayedImages = Collections.synchronizedList(new LinkedList<String>());
- // @Override
- // public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
- //// if (loadedImage != null) {
- //// if (!displayedImages.contains(imageUri)) {
- //// FadeInBitmapDisplayer.animate(view, 500);
- //// displayedImages.add(imageUri);
- //// }
- //// }
- // }
- // }
- private OnSingleClickListener onItemClick = new OnSingleClickListener() {
- @Override
- public void onSingleClick( View view) {
- mCamera = mCamerasList.get(Integer.valueOf(view.getTag().toString()));
- if (mCamera != null && mCallbackDetails != null) {
- mCallbackDetails.onItemClick(mCamera);
- }
- }
- };
- private View.OnLongClickListener onItemLongClick = new View.OnLongClickListener() {
- @Override
- public boolean onLongClick( View view) {
- mCamera = mCamerasList.get(Integer.valueOf(view.getTag().toString()));
- if(mCamera != null && mCallbackDetails != null) {
- mCallbackDetails.onItemLongPress(mCamera);
- }
- return false;
- }
- };
- private View.OnTouchListener onItemTouchListener = new View.OnTouchListener() {
- @Override
- public boolean onTouch(View view, MotionEvent motionEvent) {
- mCallbackDetails.onItemTouch(motionEvent);
- return false;
- }
- };
- public static interface OnOpenDetailsClick {
- public void onItemClick(Camera camera);
- public void onItemTouch(MotionEvent motionEvent);
- public void onItemLongPress(Camera camera);
- public void loadMore();
- }
- public void updateList(ArrayList<Camera> cameras){
- this.mCamerasList.addAll(cameras);
- this.notifyDataSetChanged();
- }
Advertisement
Add Comment
Please, Sign In to add comment