From 12b446b679c17f50e47592bacc44369c565c4207 Mon Sep 17 00:00:00 2001 From: RemoMeijer Date: Mon, 14 Dec 2020 11:09:00 +0100 Subject: [PATCH 1/6] Implemented all Methods and interfaces --- .../recyclerview/CouponLoader.java | 6 +++- .../a1/nextlocation/recyclerview/Loader.java | 5 +++ .../recyclerview/LocationAdapter.java | 36 +++++++++++++++++-- .../recyclerview/LocationListManager.java | 18 ++++++++++ .../recyclerview/LocationLoader.java | 6 +++- .../recyclerview/RouteAdapter.java | 35 ++++++++++++++++-- .../recyclerview/RouteListManager.java | 25 ++++++++++++- .../recyclerview/RouteLoader.java | 6 +++- 8 files changed, 129 insertions(+), 8 deletions(-) create mode 100644 app/src/main/java/com/a1/nextlocation/recyclerview/Loader.java diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/CouponLoader.java b/app/src/main/java/com/a1/nextlocation/recyclerview/CouponLoader.java index 8c9d456..978a481 100644 --- a/app/src/main/java/com/a1/nextlocation/recyclerview/CouponLoader.java +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/CouponLoader.java @@ -1,4 +1,8 @@ package com.a1.nextlocation.recyclerview; -public class CouponLoader { +public class CouponLoader implements Loader{ + @Override + public void load() { + + } } diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/Loader.java b/app/src/main/java/com/a1/nextlocation/recyclerview/Loader.java new file mode 100644 index 0000000..c704192 --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/Loader.java @@ -0,0 +1,5 @@ +package com.a1.nextlocation.recyclerview; + +public interface Loader { + void load(); +} diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java index cb42916..2e6e773 100644 --- a/app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java @@ -1,8 +1,40 @@ package com.a1.nextlocation.recyclerview; -public class LocationAdapter { +import android.view.View; +import android.view.ViewGroup; - class LocationViewHolder { +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +public class LocationAdapter extends RecyclerView.Adapter { + + @NonNull + @Override + public LocationViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + return null; + } + + @Override + public void onBindViewHolder(@NonNull LocationViewHolder holder, int position) { } + + @Override + public int getItemCount() { + return 0; + } + + class LocationViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { + + public LocationViewHolder(@NonNull View itemView) { + super(itemView); + } + + @Override + public void onClick(View view) { + + } + } + + } diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/LocationListManager.java b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationListManager.java index 8e553a3..4ea1884 100644 --- a/app/src/main/java/com/a1/nextlocation/recyclerview/LocationListManager.java +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationListManager.java @@ -1,4 +1,22 @@ package com.a1.nextlocation.recyclerview; +import com.a1.nextlocation.data.Location; + +import java.util.List; + public class LocationListManager { + + private List location; + + public LocationListManager(){ + + } + + public List getLocation() { + return location; + } + + public void setLocation(List location) { + this.location = location; + } } diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/LocationLoader.java b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationLoader.java index dc43812..2abdc6f 100644 --- a/app/src/main/java/com/a1/nextlocation/recyclerview/LocationLoader.java +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationLoader.java @@ -1,4 +1,8 @@ package com.a1.nextlocation.recyclerview; -public class LocationLoader { +public class LocationLoader implements Loader{ + @Override + public void load() { + + } } diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/RouteAdapter.java b/app/src/main/java/com/a1/nextlocation/recyclerview/RouteAdapter.java index b9e5618..1ab9236 100644 --- a/app/src/main/java/com/a1/nextlocation/recyclerview/RouteAdapter.java +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/RouteAdapter.java @@ -1,8 +1,39 @@ package com.a1.nextlocation.recyclerview; -public class RouteAdapter { +import android.view.View; +import android.view.ViewGroup; - class RouteViewHolder { +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + + +public class RouteAdapter extends RecyclerView.Adapter{ + + @NonNull + @Override + public RouteViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + return null; + } + + @Override + public void onBindViewHolder(@NonNull RouteViewHolder holder, int position) { } + + @Override + public int getItemCount() { + return 0; + } + + class RouteViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { + + public RouteViewHolder(@NonNull View itemView) { + super(itemView); + } + + @Override + public void onClick(View view) { + + } + } } diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/RouteListManager.java b/app/src/main/java/com/a1/nextlocation/recyclerview/RouteListManager.java index bac3df7..77f4513 100644 --- a/app/src/main/java/com/a1/nextlocation/recyclerview/RouteListManager.java +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/RouteListManager.java @@ -1,4 +1,27 @@ package com.a1.nextlocation.recyclerview; -public class RouteListManager { +import com.a1.nextlocation.data.Route; + +import java.util.List; + +public class RouteListManager implements Loader{ + + List routes; + + public RouteListManager(){ + + } + + public List getRoutes() { + return routes; + } + + public void setRoutes(List routes) { + this.routes = routes; + } + + @Override + public void load() { + + } } diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/RouteLoader.java b/app/src/main/java/com/a1/nextlocation/recyclerview/RouteLoader.java index dbb390d..0ebad65 100644 --- a/app/src/main/java/com/a1/nextlocation/recyclerview/RouteLoader.java +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/RouteLoader.java @@ -1,4 +1,8 @@ package com.a1.nextlocation.recyclerview; -public class RouteLoader { +public class RouteLoader implements Loader { + @Override + public void load() { + + } } From aee2797a0f98b0a6957bed2af3b4419ca6139bc9 Mon Sep 17 00:00:00 2001 From: sebas Date: Mon, 14 Dec 2020 11:10:51 +0100 Subject: [PATCH 2/6] [Added] methods to CouponAdapter --- .../recyclerview/CouponAdapter.java | 58 ++++++++++++++++++- 1 file changed, 56 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/CouponAdapter.java b/app/src/main/java/com/a1/nextlocation/recyclerview/CouponAdapter.java index 447131d..1c21fc2 100644 --- a/app/src/main/java/com/a1/nextlocation/recyclerview/CouponAdapter.java +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/CouponAdapter.java @@ -1,8 +1,62 @@ package com.a1.nextlocation.recyclerview; -public class CouponAdapter { +import android.content.Context; +import android.view.View; +import android.view.ViewGroup; - class CouponViewHolder { +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.a1.nextlocation.data.Coupon; + +import java.util.List; + +public class CouponAdapter extends RecyclerView.Adapter { + + private Context appContext; + private List couponList; + private OnItemClickListener clickListener; + + public interface OnItemClickListener { + void onItemClick(int clickedPosition); + } + + class CouponViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { + + public CouponViewHolder(@NonNull View itemView) { + super(itemView); + } + + @Override + public void onClick(View view) { + int clickedPosition = getAdapterPosition(); + clickListener.onItemClick(clickedPosition); + } + } + + public CouponAdapter(Context context, List coupon, OnItemClickListener listener){ + appContext = context; + couponList = coupon; + clickListener = listener; + } + + @NonNull + @Override + public CouponViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + return null; + } + + @Override + public void onBindViewHolder(@NonNull CouponViewHolder holder, int position) { } + + @Override + public int getItemCount() { + return couponList.size(); + } + + + + } From e5fa7db27d8446ec9cffdba5155153f41e721dca Mon Sep 17 00:00:00 2001 From: sebas Date: Mon, 14 Dec 2020 11:19:39 +0100 Subject: [PATCH 3/6] [Added] Added some functionallity to the adapters (not finished yet due to missing functionallity from other classes) --- .../recyclerview/LocationAdapter.java | 46 ++++++++++++------ .../recyclerview/RouteAdapter.java | 47 +++++++++++++------ 2 files changed, 65 insertions(+), 28 deletions(-) diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java index 2e6e773..836a973 100644 --- a/app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java @@ -1,27 +1,24 @@ package com.a1.nextlocation.recyclerview; +import android.content.Context; import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; +import com.a1.nextlocation.data.Location; + +import java.util.List; + public class LocationAdapter extends RecyclerView.Adapter { - @NonNull - @Override - public LocationViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - return null; - } + private Context appContext; + private List locationList; + private CouponAdapter.OnItemClickListener clickListener; - @Override - public void onBindViewHolder(@NonNull LocationViewHolder holder, int position) { - - } - - @Override - public int getItemCount() { - return 0; + public interface OnItemClickListener { + void onItemClick(int clickedPosition); } class LocationViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { @@ -32,9 +29,30 @@ public class LocationAdapter extends RecyclerView.Adapter location, CouponAdapter.OnItemClickListener listener){ + appContext = context; + locationList = location; + clickListener = listener; + } + @NonNull + @Override + public LocationAdapter.LocationViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + return null; + } + + @Override + public void onBindViewHolder(@NonNull LocationAdapter.LocationViewHolder holder, int position) { + + } + + @Override + public int getItemCount() { + return locationList.size(); + } } diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/RouteAdapter.java b/app/src/main/java/com/a1/nextlocation/recyclerview/RouteAdapter.java index 1ab9236..4f662b4 100644 --- a/app/src/main/java/com/a1/nextlocation/recyclerview/RouteAdapter.java +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/RouteAdapter.java @@ -1,28 +1,24 @@ package com.a1.nextlocation.recyclerview; +import android.content.Context; import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; +import com.a1.nextlocation.data.Route; + +import java.util.List; public class RouteAdapter extends RecyclerView.Adapter{ - @NonNull - @Override - public RouteViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - return null; - } + private Context appContext; + private List routeList; + private CouponAdapter.OnItemClickListener clickListener; - @Override - public void onBindViewHolder(@NonNull RouteViewHolder holder, int position) { - - } - - @Override - public int getItemCount() { - return 0; + public interface OnItemClickListener { + void onItemClick(int clickedPosition); } class RouteViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { @@ -33,7 +29,30 @@ public class RouteAdapter extends RecyclerView.Adapter route, CouponAdapter.OnItemClickListener listener){ + appContext = context; + routeList = route; + clickListener = listener; + } + + @NonNull + @Override + public RouteAdapter.RouteViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + return null; + } + + @Override + public void onBindViewHolder(@NonNull RouteAdapter.RouteViewHolder holder, int position) { + + } + + @Override + public int getItemCount() { + return routeList.size(); + } } From 13b73fb0de1448a8c216c92d68e28719a2820dad Mon Sep 17 00:00:00 2001 From: sebas Date: Mon, 14 Dec 2020 11:21:43 +0100 Subject: [PATCH 4/6] [Added] created method for CouponListManager --- .../recyclerview/CouponListManager.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/CouponListManager.java b/app/src/main/java/com/a1/nextlocation/recyclerview/CouponListManager.java index fca99a6..320567d 100644 --- a/app/src/main/java/com/a1/nextlocation/recyclerview/CouponListManager.java +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/CouponListManager.java @@ -1,4 +1,23 @@ package com.a1.nextlocation.recyclerview; +import com.a1.nextlocation.data.Coupon; + +import java.util.List; + public class CouponListManager { + + private List coupon; + + public CouponListManager(){ + + } + + public List getCoupon() { + return coupon; + } + + public void setCoupon(List location) { + this.coupon = coupon; + } + } From 63c49c40d7041f20e388104223e9318791662b47 Mon Sep 17 00:00:00 2001 From: sebas Date: Mon, 14 Dec 2020 11:39:29 +0100 Subject: [PATCH 5/6] [change] Small change to adapter classes --- .../java/com/a1/nextlocation/recyclerview/CouponAdapter.java | 3 +-- .../java/com/a1/nextlocation/recyclerview/LocationAdapter.java | 3 +-- .../java/com/a1/nextlocation/recyclerview/RouteAdapter.java | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/CouponAdapter.java b/app/src/main/java/com/a1/nextlocation/recyclerview/CouponAdapter.java index 1c21fc2..2098508 100644 --- a/app/src/main/java/com/a1/nextlocation/recyclerview/CouponAdapter.java +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/CouponAdapter.java @@ -29,8 +29,7 @@ public class CouponAdapter extends RecyclerView.Adapter Date: Mon, 14 Dec 2020 12:05:32 +0100 Subject: [PATCH 6/6] Added some functionality --- .../recyclerview/LocationAdapter.java | 23 +++++++++++++++---- app/src/main/res/layout/fragment_location.xml | 8 +++---- .../res/layout/fragment_location_detail.xml | 14 ++++++++--- 3 files changed, 32 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java index 8854e98..5ef367f 100644 --- a/app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java @@ -1,12 +1,15 @@ package com.a1.nextlocation.recyclerview; import android.content.Context; +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.a1.nextlocation.R; import com.a1.nextlocation.data.Location; import java.util.List; @@ -23,31 +26,41 @@ public class LocationAdapter extends RecyclerView.Adapter location, CouponAdapter.OnItemClickListener listener){ - appContext = context; - locationList = location; - clickListener = listener; + this.appContext = context; + this.locationList = location; + this.clickListener = listener; } @NonNull @Override public LocationAdapter.LocationViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - return null; + View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.fragment_location, parent, false); + LocationViewHolder viewHolder = new LocationViewHolder(itemView); + return viewHolder; } @Override public void onBindViewHolder(@NonNull LocationAdapter.LocationViewHolder holder, int position) { - + Location location = locationList.get(position); + holder.setTextViewText(location.getName()); } @Override diff --git a/app/src/main/res/layout/fragment_location.xml b/app/src/main/res/layout/fragment_location.xml index 958a325..410f85f 100644 --- a/app/src/main/res/layout/fragment_location.xml +++ b/app/src/main/res/layout/fragment_location.xml @@ -1,14 +1,12 @@ - - - + android:layout_height="match_parent"/> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_location_detail.xml b/app/src/main/res/layout/fragment_location_detail.xml index 92351b4..a511ae5 100644 --- a/app/src/main/res/layout/fragment_location_detail.xml +++ b/app/src/main/res/layout/fragment_location_detail.xml @@ -1,14 +1,22 @@ + + android:id="@+id/location_name" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="LocationName" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.296" /> \ No newline at end of file