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.

AreaAdapter.java 4.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. package com.example.meinwald.ui.area;
  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.task.OwnTask;
  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 AreaAdapter extends BaseAdapter
  24. {
  25. List<OwnArea> areaList;
  26. LayoutInflater inflater;
  27. Context context;
  28. public AreaAdapter(Context applicationContext, List<OwnArea> areaList)
  29. {
  30. this.areaList = new ArrayList<>();
  31. this.areaList = areaList;
  32. this.context = applicationContext;
  33. inflater = LayoutInflater.from(applicationContext);
  34. if (BuildConfig.DEBUG)
  35. {
  36. Log.d("AreaAdapter","size: " + areaList.size());
  37. }
  38. }
  39. @Override
  40. public View getView(final int i, View view, final ViewGroup viewGroup) {
  41. view = inflater.inflate(R.layout.area_element, null);
  42. final ConstraintLayout elementView = view.findViewById(R.id.areaInfoView);
  43. final ConstraintLayout infovView = view.findViewById(R.id.areaInfoView);
  44. final TextView title = (TextView) view.findViewById(R.id.areaInfoTitle);
  45. final TextView notice = (TextView) view.findViewById(R.id.areaInfoNotice);
  46. final ImageView icon = (ImageView) view.findViewById(R.id.areaIcon);
  47. context = view.getContext();
  48. if (BuildConfig.DEBUG)
  49. {
  50. Log.d("AreaAdapter",areaList.get(i).toString());
  51. Log.d("AreaAdapter",areaList.get(i).getTitle());
  52. Log.d("AreaAdapter",areaList.get(i).getNotice());
  53. }
  54. title.setText(areaList.get(i).getTitle());
  55. notice.setText(areaList.get(i).getNotice());
  56. icon.setImageBitmap(areaList.get(i).getImage());
  57. title.setOnClickListener(new View.OnClickListener() {
  58. @Override
  59. public void onClick(View v)
  60. {
  61. }
  62. });
  63. notice.setOnClickListener(new View.OnClickListener() {
  64. @Override
  65. public void onClick(View v)
  66. {
  67. }
  68. });
  69. icon.setOnClickListener(new View.OnClickListener() {
  70. @Override
  71. public void onClick(View v)
  72. {
  73. final AlertDialog.Builder builder = new AlertDialog.Builder(v.getRootView().getContext());
  74. final View viewInflated = LayoutInflater.from(v.getRootView().getContext()).inflate(R.layout.image_large, viewGroup, false);
  75. builder.setView(viewInflated);
  76. final ConstraintLayout imageViewLayout = viewInflated.findViewById(R.id.taskLargeImageLayout);
  77. final ImageView imageView = viewInflated.findViewById(R.id.taskLargeImage);
  78. imageView.setImageBitmap(areaList.get(i).getImage());
  79. builder.setNegativeButton("Zurück", new DialogInterface.OnClickListener() {
  80. @Override
  81. public void onClick(DialogInterface dialog, int which) {
  82. dialog.cancel();
  83. }
  84. });
  85. builder.show();
  86. }
  87. });
  88. view.setOnLongClickListener(new View.OnLongClickListener() {
  89. @Override
  90. public boolean onLongClick(View v) {
  91. // TODO Auto-generated method stub
  92. return true;
  93. }
  94. });
  95. return view;
  96. }
  97. @Override
  98. public int getCount() {
  99. return areaList.size();
  100. }
  101. @Override
  102. public Object getItem(int i) {
  103. return areaList.get(i);
  104. }
  105. @Override
  106. public long getItemId(int i) {
  107. return i;
  108. }
  109. }