package com.example.myapplication;
import android.app.Dialog;
import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.CardViewHolder> {
List<Model> lists;
Context context;
MyDatabase myDatabase;
MyAdapter(Context context,List<Model> lists){
this.lists=lists;
this.context=context;
myDatabase=new MyDatabase(context);
}
@NonNull
@Override
public CardViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view=LayoutInflater.from(context).inflate(R.layout.card_view,parent,false);
return new CardViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull final CardViewHolder holder, int position) {
final Model model = lists.get(position);
holder.txtName.setText(model.getName());
holder.txtDate.setText(model.getDate());
holder.txtName.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Dialog d = new Dialog(context);
d.setContentView(R.layout.del_dialog);
d.show();
final ProgressBar p = d.findViewById(R.id.p);
p.setMax(3000);
final Timer timer = new Timer();
timer.schedule(new TimerTask() {
int i = 0;
@Override
public void run() {
i+=10;
p.setProgress(i);
if (i>2900){
timer.cancel();
myDatabase.deletinfo(model.getId());
lists.remove(holder.getPosition());
notifyItemRemoved(holder.getPosition());
}
}
},0,10);
}
});
}
@Override
public int getItemCount() {
return lists.size();
}
class CardViewHolder extends RecyclerView.ViewHolder {
TextView txtName,txtDate;
public CardViewHolder(@NonNull View itemView) {
super(itemView);
txtName=itemView.findViewById(R.id.name);
txtDate=itemView.findViewById(R.id.date);
}
}
}