单击RecyclerView项目上的图像时显示内容菜单
问题描述:
我已将RecyclerView
设计为显示如下内容:
I have design my RecyclerView
to display something like this:
当用户单击并单击RecyclerView
项目中的ImageView
(垂直3点图像)时,我想显示上下文菜单.
I want to show context menu when user clicked and ImageView
(the vertical 3 dots image) in RecyclerView
item.
@Override
public void onBindViewHolder(final VendorViewHolder holder, final int position) {
holder.nameText.setText(this.vendors.get(position).getName());
holder.contextMenuBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Code to show ContextMenu here
}
});
}
答
放置3点图像,并在单击该图像时使用以下内容,
Put that 3 dot image and on click of that image use the following,
//creating a popup menu
PopupMenu popup = new PopupMenu(context, holder.addresslistmenu);
//inflating menu from xml resource
popup.inflate(R.menu.addressmenu);
//adding click listener
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.addresslistupdatemenu:
yourfunction()
break;
}
return false;
}
});
//displaying the popup
popup.show();
在res菜单中添加菜单项,
Add the menu item in res-menu,
示例::
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/addresslistupdatemenu"
android:title="Update" />
<item
android:id="@+id/addresslistdeletemenu"
android:title="Delete" />
</menu>
图像单击位于适配器的onBindViewHolder中.
Image click is in onBindViewHolder in the adapter.
holder.image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// PopupMenu function here
}
});