public class yeniAdapter extends RecyclerView.Adapter<yeniAdapter.MyViewHolder> {
ArrayList<Urun> urunListesi;
private Context mContext;
private OnItemClickListener mListener;
public yeniAdapter(Context context, List<Urun> urunListesi) {
mContext = context;
this.urunListesi = (ArrayList<Urun>) urunListesi;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(mContext).inflate(R.layout.custom_satir, parent, false);
MyViewHolder holder = new MyViewHolder(v);
return holder;
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
Urun urunBilgileri = urunListesi.get(position);
String yorumyapanId=urunBilgileri.getKisiId();
holder.kisiIsim.setText(urunBilgileri.getKisiAd());
holder.urunYorum.setText(urunBilgileri.getUrunYorum());
}
@Override
public int getItemCount() {
return urunListesi.size();
}
class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener,
View.OnCreateContextMenuListener, MenuItem.OnMenuItemClickListener{
TextView kisiIsim,urunYorum;
public MyViewHolder(View itemView) {
super(itemView);
kisiIsim = (TextView) itemView.findViewById(R.id.ad);
urunYorum = (TextView) itemView.findViewById(R.id.yorum);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mListener != null) {
int position = getAdapterPosition();
if (position != RecyclerView.NO_POSITION) {
mListener.onItemClick(position);
}
}
}
});
itemView.setOnClickListener(this);
itemView.setOnCreateContextMenuListener(this);
}
@Override
public boolean onMenuItemClick(MenuItem item) {
if (mListener != null) {
int position = getAdapterPosition();
if (position != RecyclerView.NO_POSITION) {
switch (item.getItemId()) {
case 1:
mListener.onWhatEverClick(position);
return true;
case 2:
mListener.duzenleClick(position);
return true;
}
}
}
return false;
}
@Override
public void onClick(View v) {
if (mListener != null) {
int position = getAdapterPosition();
if (position != RecyclerView.NO_POSITION) {
mListener.onItemClick(position);
}
}
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
menu.setHeaderTitle("Ne Yapmak İstiyorsun?");
MenuItem doWhatever = menu.add(Menu.NONE, 1, 1, "Seç");
MenuItem duzenle = menu.add(Menu.NONE, 2, 2, "Düzenle");
doWhatever.setOnMenuItemClickListener(this);
duzenle.setOnMenuItemClickListener(this);
}
}
public interface OnItemClickListener {
void onItemClick(int position);
void onWhatEverClick(int position);
void duzenleClick(int position);
}
public void setOnItemClickListener(OnItemClickListener listener) {
mListener = listener;
}
}
I have an application where the user can login. Users can comment. On the Comments page, if the comment belongs to the person himself, he will see the options in Menuitem that he gets from the customm adapter. If the person making the comment is not his own, he will see another option when he clicks on it and the other options will be hidden. How can I do it?