EmailViewHolder.java 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package com.noahvogt.miniprojekt.data;
  2. import android.annotation.SuppressLint;
  3. import android.view.LayoutInflater;
  4. import android.view.View;
  5. import android.view.ViewGroup;
  6. import android.widget.TextView;
  7. import android.widget.Toast;
  8. import com.noahvogt.miniprojekt.DataBase.Message;
  9. import com.noahvogt.miniprojekt.R;
  10. import androidx.recyclerview.widget.RecyclerView;
  11. import java.text.ParseException;
  12. import java.text.SimpleDateFormat;
  13. import java.util.List;
  14. import java.util.Locale;
  15. /* adds the content to the View of RecyclerView*/
  16. public class EmailViewHolder extends RecyclerView.ViewHolder {
  17. private final TextView fromItemView;
  18. private final TextView subjectItemView;
  19. private final TextView dateItemView;
  20. private final TextView messageItemView;
  21. private EmailViewHolder(View itemView,
  22. CustomAdapter.SelectedMessage selectedMessage,
  23. List<Message> messageList) {
  24. super(itemView);
  25. fromItemView = itemView.findViewById(R.id.textView);
  26. subjectItemView = itemView.findViewById(R.id.subject);
  27. dateItemView = itemView.findViewById(R.id.date);
  28. messageItemView = itemView.findViewById(R.id.message);
  29. itemView.setOnClickListener(new View.OnClickListener() {
  30. @Override
  31. public void onClick(View v) {
  32. selectedMessage.selectedMessage(messageList.get(getBindingAdapterPosition()), null );
  33. }
  34. });
  35. }
  36. public void bind(String from, String subject, String date, String message) {
  37. System.out.println("length of from " + from.length());
  38. System.out.println("length of message " + message.length());
  39. if (subject.length() > 30){
  40. subject = subject.substring(0,26) + "...";
  41. }
  42. if (from.length() > 12) {
  43. from = from.substring(0,12) + "...";
  44. }
  45. if (message.length() > 30){
  46. message = message.substring(0,30) + "...";
  47. }
  48. /*if (date.length() > 9){
  49. date = "INVALID";
  50. }
  51. if (!isDate(date)){
  52. date = "INVALID";
  53. }
  54. */
  55. fromItemView.setText(from);
  56. subjectItemView.setText(subject);
  57. dateItemView.setText(date);
  58. messageItemView.setText(message);
  59. }
  60. public static EmailViewHolder create(ViewGroup parent,
  61. CustomAdapter.SelectedMessage selectedMessage,
  62. List<Message> messageList) {
  63. View view = LayoutInflater.from(parent.getContext())
  64. .inflate(R.layout.fragment_home, parent, false);
  65. return new EmailViewHolder(view, selectedMessage, messageList);
  66. }
  67. public static boolean isDate(String date){
  68. SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yy", Locale.getDefault());
  69. //dateFormat.setLenient(false);
  70. try {
  71. dateFormat.parse(date);
  72. } catch (ParseException e){
  73. return false;
  74. }
  75. return true;
  76. }
  77. }