You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

TaskAdapter.java 4.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. package com.example.meinwald.ui.task;
  2. import android.app.AlertDialog;
  3. import android.content.Context;
  4. import android.content.DialogInterface;
  5. import android.graphics.Rect;
  6. import android.util.Log;
  7. import android.view.LayoutInflater;
  8. import android.view.View;
  9. import android.view.ViewGroup;
  10. import android.widget.BaseAdapter;
  11. import android.widget.ImageView;
  12. import android.widget.TextView;
  13. import com.example.meinwald.BuildConfig;
  14. import com.example.meinwald.R;
  15. import com.example.meinwald.ui.area.OwnArea;
  16. import com.google.android.material.floatingactionbutton.FloatingActionButton;
  17. import java.util.ArrayList;
  18. import java.util.List;
  19. import androidx.appcompat.widget.AlertDialogLayout;
  20. import androidx.appcompat.widget.LinearLayoutCompat;
  21. import androidx.constraintlayout.widget.ConstraintLayout;
  22. import static java.security.AccessController.getContext;
  23. public class TaskAdapter extends BaseAdapter
  24. {
  25. List<OwnTask> taskList;
  26. LayoutInflater inflater;
  27. Context context;
  28. public TaskAdapter(Context applicationContext, List<OwnTask> taskList)
  29. {
  30. this.taskList = new ArrayList<>();
  31. this.taskList = taskList;
  32. this.context = applicationContext;
  33. inflater = LayoutInflater.from(applicationContext);
  34. if (BuildConfig.DEBUG)
  35. {
  36. //Log.d("TaskAdapter",taskList.get(0).toString());
  37. Log.d("TaskAdapter","size: " + taskList.size());
  38. }
  39. }
  40. @Override
  41. public View getView(final int i, View view, final ViewGroup viewGroup) {
  42. view = inflater.inflate(R.layout.task_element, null);
  43. final ConstraintLayout elementView = view.findViewById(R.id.taskInfoView);
  44. final ConstraintLayout infovView = view.findViewById(R.id.taskInfoView);
  45. final TextView title = (TextView) view.findViewById(R.id.taskInfoTitle);
  46. final TextView notice = (TextView) view.findViewById(R.id.taskInfoNotice);
  47. final ImageView icon = (ImageView) view.findViewById(R.id.taskIcon);
  48. context = view.getContext();
  49. if (BuildConfig.DEBUG)
  50. {
  51. Log.d("TaskAdapter",taskList.get(i).toString());
  52. Log.d("TaskAdapter",taskList.get(i).getTitle());
  53. Log.d("TaskAdapter",taskList.get(i).getNotice());
  54. }
  55. title.setText(taskList.get(i).getTitle());
  56. notice.setText(taskList.get(i).getNotice());
  57. icon.setImageBitmap(taskList.get(i).getImage());
  58. title.setOnClickListener(new View.OnClickListener() {
  59. @Override
  60. public void onClick(View v)
  61. {
  62. }
  63. });
  64. notice.setOnClickListener(new View.OnClickListener() {
  65. @Override
  66. public void onClick(View v)
  67. {
  68. }
  69. });
  70. icon.setOnClickListener(new View.OnClickListener() {
  71. @Override
  72. public void onClick(View v)
  73. {
  74. final AlertDialog.Builder builder = new AlertDialog.Builder(v.getRootView().getContext());
  75. final View viewInflated = LayoutInflater.from(v.getRootView().getContext()).inflate(R.layout.image_large, viewGroup, false);
  76. //viewInflated.setLayoutParams(new AlertDialogLayout.LayoutParams(taskList.get(i).getImage().getWidth(),5 * taskList.get(i).getImage().getHeight()));
  77. builder.setView(viewInflated);
  78. final ConstraintLayout imageViewLayout = viewInflated.findViewById(R.id.taskLargeImageLayout);
  79. final ImageView imageView = viewInflated.findViewById(R.id.taskLargeImage);
  80. //ConstraintLayout.LayoutParams layoutParams = new ConstraintLayout.LayoutParams(taskList.get(i).getImage().getWidth(),5 * taskList.get(i).getImage().getHeight());
  81. //imageViewLayout.setLayoutParams(layoutParams);
  82. imageView.setImageBitmap(taskList.get(i).getImage());
  83. builder.setNegativeButton("Zurück", new DialogInterface.OnClickListener() {
  84. @Override
  85. public void onClick(DialogInterface dialog, int which) {
  86. dialog.cancel();
  87. }
  88. });
  89. builder.show();
  90. }
  91. });
  92. view.setOnLongClickListener(new View.OnLongClickListener() {
  93. @Override
  94. public boolean onLongClick(View v) {
  95. // TODO Auto-generated method stub
  96. return true;
  97. }
  98. });
  99. return view;
  100. }
  101. @Override
  102. public int getCount() {
  103. return taskList.size();
  104. }
  105. @Override
  106. public Object getItem(int i) {
  107. return taskList.get(i);
  108. }
  109. @Override
  110. public long getItemId(int i) {
  111. return i;
  112. }
  113. }