-
Notifications
You must be signed in to change notification settings - Fork 0
/
RecyclerViewAdapter.java
114 lines (88 loc) · 3.73 KB
/
RecyclerViewAdapter.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
package com.example.drn20;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.PopupMenu;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import java.util.List;
public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.MyViewHolder> {
private Context mContext;
private List<Cargo> cargoList;
public RecyclerViewAdapter(Context mContext, List<Cargo> cargoList){
this.mContext = mContext;
this.cargoList = cargoList;
}
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v;
v = LayoutInflater.from(mContext).inflate(R.layout.track_item , parent , false);
MyViewHolder viewHolder = new MyViewHolder(v);
return viewHolder;
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
final Cargo cargo = cargoList.get(position);
holder.tv_number.setText(cargoList.get(position).getCargoNo());
holder.tv_company.setText(cargoList.get(position).getCargoCo());
holder.tv_des.setText(cargoList.get(position).getCargoDes());
holder.image1.setImageAlpha(cargoList.get(position).getCargoPic());
holder.cargoMemo.setText(cargoList.get(position).getCargoMemo());
holder.trackOption.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// display menu
PopupMenu popupMenu = new PopupMenu(mContext , holder.trackOption);
popupMenu.inflate(R.menu.track_options);
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.track_delete:
cargoList.remove(position);
notifyDataSetChanged();
case R.id.track_archive:
cargo.setArchived(true);
case R.id.memo_edit:
Toast.makeText(mContext, "Düzenleme.", Toast.LENGTH_LONG).show();
default:
break;
}
return false;
}
});
popupMenu.show();
}
});
}
@Override
public int getItemCount() {
return cargoList.size();
}
public List<Cargo> getList() {
return cargoList;
}
public class MyViewHolder extends RecyclerView.ViewHolder{
private TextView tv_number;
private TextView tv_company;
private TextView tv_des;
private TextView trackOption;
private TextView cargoMemo;
private ImageView image1;
private MyViewHolder(View itemView){
super(itemView);
tv_number = itemView.findViewById(R.id.cargo_number);
tv_company = itemView.findViewById(R.id.cargo_company);
tv_des = itemView.findViewById(R.id.durum_text);
image1 = itemView.findViewById(R.id.cargo_pic);
cargoMemo = itemView.findViewById(R.id.cargoMemo);
trackOption = itemView.findViewById(R.id.trackOption);
}
}
}