Android cardview place specific card at the end of the list
I'm making an app where user-input tasks are shown in cardview. Each tasks have their own due dates and when the due date is up, it will show up at the bottom of the list.
In the code below,
The due dates are passed via my task object class. After comparing due dates (.getTaskDate) with current date, I should put the overdue task at the bottom here.
Inside my adapter:
//Overdue tasks
String Currdate = new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault()).format(new Date());
if(Currdate.compareTo(tasks.getTaskDate())>0 )
{
taskViewHolder.cardView.setBackgroundColor(mContext.getResources().getColor(R.color.colorRed));
}
How should I implement this feature and is it done inside the MainActivity or my Adapter? I have similar date sorting feature which sorts the date in ascending order inside my MainActivity :
private static void sortDates(final List<TaskObject> listViewItems) {
Collections.sort(listViewItems, new Comparator<TaskObject>() {
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
@Override
public int compare(TaskObject t1, TaskObject t2) {
try {
return dateFormat.parse(t1.getTaskDate()).compareTo(dateFormat.parse(t2.getTaskDate()));
} catch (ParseException e) {
e.printStackTrace();
}
return 0;
}
});
}
java android sorting date calendar
add a comment |
I'm making an app where user-input tasks are shown in cardview. Each tasks have their own due dates and when the due date is up, it will show up at the bottom of the list.
In the code below,
The due dates are passed via my task object class. After comparing due dates (.getTaskDate) with current date, I should put the overdue task at the bottom here.
Inside my adapter:
//Overdue tasks
String Currdate = new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault()).format(new Date());
if(Currdate.compareTo(tasks.getTaskDate())>0 )
{
taskViewHolder.cardView.setBackgroundColor(mContext.getResources().getColor(R.color.colorRed));
}
How should I implement this feature and is it done inside the MainActivity or my Adapter? I have similar date sorting feature which sorts the date in ascending order inside my MainActivity :
private static void sortDates(final List<TaskObject> listViewItems) {
Collections.sort(listViewItems, new Comparator<TaskObject>() {
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
@Override
public int compare(TaskObject t1, TaskObject t2) {
try {
return dateFormat.parse(t1.getTaskDate()).compareTo(dateFormat.parse(t2.getTaskDate()));
} catch (ParseException e) {
e.printStackTrace();
}
return 0;
}
});
}
java android sorting date calendar
What is the output with this code?
– RoyalGriffin
Nov 24 '18 at 6:46
Hi, I have added a screenshot of my current output. The red card (Overdue) should be at the end of the card list.
– Brandon Bong
Nov 24 '18 at 6:54
add a comment |
I'm making an app where user-input tasks are shown in cardview. Each tasks have their own due dates and when the due date is up, it will show up at the bottom of the list.
In the code below,
The due dates are passed via my task object class. After comparing due dates (.getTaskDate) with current date, I should put the overdue task at the bottom here.
Inside my adapter:
//Overdue tasks
String Currdate = new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault()).format(new Date());
if(Currdate.compareTo(tasks.getTaskDate())>0 )
{
taskViewHolder.cardView.setBackgroundColor(mContext.getResources().getColor(R.color.colorRed));
}
How should I implement this feature and is it done inside the MainActivity or my Adapter? I have similar date sorting feature which sorts the date in ascending order inside my MainActivity :
private static void sortDates(final List<TaskObject> listViewItems) {
Collections.sort(listViewItems, new Comparator<TaskObject>() {
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
@Override
public int compare(TaskObject t1, TaskObject t2) {
try {
return dateFormat.parse(t1.getTaskDate()).compareTo(dateFormat.parse(t2.getTaskDate()));
} catch (ParseException e) {
e.printStackTrace();
}
return 0;
}
});
}
java android sorting date calendar
I'm making an app where user-input tasks are shown in cardview. Each tasks have their own due dates and when the due date is up, it will show up at the bottom of the list.
In the code below,
The due dates are passed via my task object class. After comparing due dates (.getTaskDate) with current date, I should put the overdue task at the bottom here.
Inside my adapter:
//Overdue tasks
String Currdate = new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault()).format(new Date());
if(Currdate.compareTo(tasks.getTaskDate())>0 )
{
taskViewHolder.cardView.setBackgroundColor(mContext.getResources().getColor(R.color.colorRed));
}
How should I implement this feature and is it done inside the MainActivity or my Adapter? I have similar date sorting feature which sorts the date in ascending order inside my MainActivity :
private static void sortDates(final List<TaskObject> listViewItems) {
Collections.sort(listViewItems, new Comparator<TaskObject>() {
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
@Override
public int compare(TaskObject t1, TaskObject t2) {
try {
return dateFormat.parse(t1.getTaskDate()).compareTo(dateFormat.parse(t2.getTaskDate()));
} catch (ParseException e) {
e.printStackTrace();
}
return 0;
}
});
}
java android sorting date calendar
java android sorting date calendar
edited Nov 24 '18 at 6:53
Brandon Bong
asked Nov 24 '18 at 6:20
Brandon BongBrandon Bong
267
267
What is the output with this code?
– RoyalGriffin
Nov 24 '18 at 6:46
Hi, I have added a screenshot of my current output. The red card (Overdue) should be at the end of the card list.
– Brandon Bong
Nov 24 '18 at 6:54
add a comment |
What is the output with this code?
– RoyalGriffin
Nov 24 '18 at 6:46
Hi, I have added a screenshot of my current output. The red card (Overdue) should be at the end of the card list.
– Brandon Bong
Nov 24 '18 at 6:54
What is the output with this code?
– RoyalGriffin
Nov 24 '18 at 6:46
What is the output with this code?
– RoyalGriffin
Nov 24 '18 at 6:46
Hi, I have added a screenshot of my current output. The red card (Overdue) should be at the end of the card list.
– Brandon Bong
Nov 24 '18 at 6:54
Hi, I have added a screenshot of my current output. The red card (Overdue) should be at the end of the card list.
– Brandon Bong
Nov 24 '18 at 6:54
add a comment |
1 Answer
1
active
oldest
votes
Just reverse your sorting and you are done. Change the return statement in the comparator to
return dateFormat.parse(t2.getTaskDate()).compareTo(dateFormat.parse(t1.getTaskDate()));
but I only wanted the Overdue task to appear at the bottom, the rest are sorted in ascending order.. that's the problem couldn't figure out
– Brandon Bong
Nov 24 '18 at 7:03
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53455711%2fandroid-cardview-place-specific-card-at-the-end-of-the-list%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Just reverse your sorting and you are done. Change the return statement in the comparator to
return dateFormat.parse(t2.getTaskDate()).compareTo(dateFormat.parse(t1.getTaskDate()));
but I only wanted the Overdue task to appear at the bottom, the rest are sorted in ascending order.. that's the problem couldn't figure out
– Brandon Bong
Nov 24 '18 at 7:03
add a comment |
Just reverse your sorting and you are done. Change the return statement in the comparator to
return dateFormat.parse(t2.getTaskDate()).compareTo(dateFormat.parse(t1.getTaskDate()));
but I only wanted the Overdue task to appear at the bottom, the rest are sorted in ascending order.. that's the problem couldn't figure out
– Brandon Bong
Nov 24 '18 at 7:03
add a comment |
Just reverse your sorting and you are done. Change the return statement in the comparator to
return dateFormat.parse(t2.getTaskDate()).compareTo(dateFormat.parse(t1.getTaskDate()));
Just reverse your sorting and you are done. Change the return statement in the comparator to
return dateFormat.parse(t2.getTaskDate()).compareTo(dateFormat.parse(t1.getTaskDate()));
answered Nov 24 '18 at 6:56
RoyalGriffinRoyalGriffin
8071414
8071414
but I only wanted the Overdue task to appear at the bottom, the rest are sorted in ascending order.. that's the problem couldn't figure out
– Brandon Bong
Nov 24 '18 at 7:03
add a comment |
but I only wanted the Overdue task to appear at the bottom, the rest are sorted in ascending order.. that's the problem couldn't figure out
– Brandon Bong
Nov 24 '18 at 7:03
but I only wanted the Overdue task to appear at the bottom, the rest are sorted in ascending order.. that's the problem couldn't figure out
– Brandon Bong
Nov 24 '18 at 7:03
but I only wanted the Overdue task to appear at the bottom, the rest are sorted in ascending order.. that's the problem couldn't figure out
– Brandon Bong
Nov 24 '18 at 7:03
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53455711%2fandroid-cardview-place-specific-card-at-the-end-of-the-list%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
What is the output with this code?
– RoyalGriffin
Nov 24 '18 at 6:46
Hi, I have added a screenshot of my current output. The red card (Overdue) should be at the end of the card list.
– Brandon Bong
Nov 24 '18 at 6:54