From 5ae1d1f9646c68aa940426f54da9bf17c28e1ea7 Mon Sep 17 00:00:00 2001 From: Marijn Jansen Date: Thu, 29 Jun 2017 13:19:12 +0200 Subject: [PATCH] Added NietSlechts! --- .../tagram/TimeLineAdapter.java | 31 +++++++++++++------ .../tagram/controller/DownloadClass.java | 4 ++- .../myhyvesbookplus/tagram/model/UriPost.java | 9 ++++++ .../main/res/layout/list_item_timeline.xml | 14 ++++++--- 4 files changed, 43 insertions(+), 15 deletions(-) diff --git a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/TimeLineAdapter.java b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/TimeLineAdapter.java index 7d4dda5..197765a 100644 --- a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/TimeLineAdapter.java +++ b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/TimeLineAdapter.java @@ -1,6 +1,7 @@ package nl.myhyvesbookplus.tagram; import android.content.Context; +import android.support.annotation.NonNull; import android.util.Log; import android.view.LayoutInflater; import android.view.View; @@ -13,6 +14,9 @@ import android.widget.TextView; import com.bumptech.glide.Glide; import com.firebase.ui.storage.images.FirebaseImageLoader; +import com.google.android.gms.tasks.OnCompleteListener; +import com.google.android.gms.tasks.Task; +import com.google.firebase.database.FirebaseDatabase; import com.google.firebase.storage.FirebaseStorage; import com.google.firebase.storage.StorageReference; @@ -52,26 +56,34 @@ public class TimeLineAdapter extends BaseAdapter implements AdapterView.OnItemCl } @Override - public View getView(int position, View convertView, ViewGroup parent) { + public View getView(final int position, View convertView, ViewGroup parent) { View rowView = mInflater.inflate(R.layout.list_item_timeline, parent, false); TextView comment = (TextView) rowView.findViewById(R.id.comment_timeline); - TextView nietSlechts = (TextView) rowView.findViewById(R.id.niet_slecht_count); + final TextView nietSlechts = (TextView) rowView.findViewById(R.id.niet_slecht_count); + TextView dateTime = (TextView) rowView.findViewById(R.id.timeline_date); ImageView photo = (ImageView) rowView.findViewById(R.id.timeline_image); - ImageButton nietSlechtButton = (ImageButton) rowView.findViewById(R.id.niet_slecht_button); + final ImageButton nietSlechtButton = (ImageButton) rowView.findViewById(R.id.niet_slecht_button); + + final UriPost post = (UriPost) getItem(position); + + nietSlechts.setText(Integer.toString(post.getNietSlechts())); + comment.setText(post.getComment()); nietSlechtButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - + Log.d(TAG, "onClick: " + position); + FirebaseDatabase.getInstance().getReference().child("posts").child(post.getDatabaseEntryName()).child("nietSlechts").setValue(post.getNietSlechts() + 1) + .addOnCompleteListener(new OnCompleteListener() { + @Override + public void onComplete(@NonNull Task task) { + nietSlechts.setText(Integer.toString(post.getNietSlechts() + 1)); + } + }); } }); - UriPost post = (UriPost) getItem(position); - - nietSlechts.setText(Integer.toString(post.getNietSlechts())); - comment.setText(post.getComment()); - StorageReference ref = FirebaseStorage.getInstance().getReferenceFromUrl(post.getUri()); Glide.with(mContext) .using(new FirebaseImageLoader()) @@ -82,7 +94,6 @@ public class TimeLineAdapter extends BaseAdapter implements AdapterView.OnItemCl return rowView; } - /** * Callback method to be invoked when an item in this AdapterView has * been clicked. diff --git a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/controller/DownloadClass.java b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/controller/DownloadClass.java index 49697b4..3624cda 100644 --- a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/controller/DownloadClass.java +++ b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/controller/DownloadClass.java @@ -41,7 +41,9 @@ public class DownloadClass { @Override public void onDataChange(DataSnapshot dataSnapshot) { for (DataSnapshot data : dataSnapshot.getChildren()) { - mList.add(data.getValue(UriPost.class)); + UriPost tempPost = data.getValue(UriPost.class); + tempPost.setDatabaseEntryName(data.getKey()); + mList.add(tempPost); } Collections.reverse(mList); mListener.PostDownloaded(); diff --git a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/model/UriPost.java b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/model/UriPost.java index 25358be..dc7ae7c 100644 --- a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/model/UriPost.java +++ b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/model/UriPost.java @@ -9,6 +9,7 @@ import java.util.Date; */ public class UriPost extends Post { private String uri; + private String databaseEntryName; public UriPost() { // Default constructor required for calls to DataSnapshot.getValue(UriPost.class) @@ -33,4 +34,12 @@ public class UriPost extends Post { public void setUri(String uri) { this.uri = uri; } + + public String getDatabaseEntryName() { + return databaseEntryName; + } + + public void setDatabaseEntryName(String databaseEntryName) { + this.databaseEntryName = databaseEntryName; + } } \ No newline at end of file diff --git a/app/MyHyvesBookPlusStagram/app/src/main/res/layout/list_item_timeline.xml b/app/MyHyvesBookPlusStagram/app/src/main/res/layout/list_item_timeline.xml index 0d2006f..e3f6fa4 100644 --- a/app/MyHyvesBookPlusStagram/app/src/main/res/layout/list_item_timeline.xml +++ b/app/MyHyvesBookPlusStagram/app/src/main/res/layout/list_item_timeline.xml @@ -1,15 +1,14 @@ + android:layout_height="250dp" + android:layout_gravity="center" /> + @@ -29,12 +33,14 @@ \ No newline at end of file