package com.example.meinwald.ui.task; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; import android.graphics.Rect; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; import com.example.meinwald.BuildConfig; import com.example.meinwald.R; import com.example.meinwald.ui.area.OwnArea; import com.google.android.material.floatingactionbutton.FloatingActionButton; import java.util.ArrayList; import java.util.List; import androidx.appcompat.widget.AlertDialogLayout; import androidx.appcompat.widget.LinearLayoutCompat; import androidx.constraintlayout.widget.ConstraintLayout; import static java.security.AccessController.getContext; public class TaskAdapter extends BaseAdapter { List taskList; LayoutInflater inflater; Context context; public TaskAdapter(Context applicationContext, List taskList) { this.taskList = new ArrayList<>(); this.taskList = taskList; this.context = applicationContext; inflater = LayoutInflater.from(applicationContext); if (BuildConfig.DEBUG) { //Log.d("TaskAdapter",taskList.get(0).toString()); Log.d("TaskAdapter","size: " + taskList.size()); } } @Override public View getView(final int i, View view, final ViewGroup viewGroup) { view = inflater.inflate(R.layout.task_element, null); final ConstraintLayout elementView = view.findViewById(R.id.taskInfoView); final ConstraintLayout infovView = view.findViewById(R.id.taskInfoView); final TextView title = (TextView) view.findViewById(R.id.taskInfoTitle); final TextView notice = (TextView) view.findViewById(R.id.taskInfoNotice); final ImageView icon = (ImageView) view.findViewById(R.id.taskIcon); context = view.getContext(); if (BuildConfig.DEBUG) { Log.d("TaskAdapter",taskList.get(i).toString()); Log.d("TaskAdapter",taskList.get(i).getTitle()); Log.d("TaskAdapter",taskList.get(i).getNotice()); } title.setText(taskList.get(i).getTitle()); notice.setText(taskList.get(i).getNotice()); icon.setImageBitmap(taskList.get(i).getImage()); title.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); notice.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); icon.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { final AlertDialog.Builder builder = new AlertDialog.Builder(v.getRootView().getContext()); final View viewInflated = LayoutInflater.from(v.getRootView().getContext()).inflate(R.layout.image_large, viewGroup, false); //viewInflated.setLayoutParams(new AlertDialogLayout.LayoutParams(taskList.get(i).getImage().getWidth(),5 * taskList.get(i).getImage().getHeight())); builder.setView(viewInflated); final ConstraintLayout imageViewLayout = viewInflated.findViewById(R.id.taskLargeImageLayout); final ImageView imageView = viewInflated.findViewById(R.id.taskLargeImage); //ConstraintLayout.LayoutParams layoutParams = new ConstraintLayout.LayoutParams(taskList.get(i).getImage().getWidth(),5 * taskList.get(i).getImage().getHeight()); //imageViewLayout.setLayoutParams(layoutParams); imageView.setImageBitmap(taskList.get(i).getImage()); builder.setNegativeButton("Zurück", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }); builder.show(); } }); view.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { // TODO Auto-generated method stub return true; } }); return view; } @Override public int getCount() { return taskList.size(); } @Override public Object getItem(int i) { return taskList.get(i); } @Override public long getItemId(int i) { return i; } }