Displaying Content Menu When Image on RecyclerView Item Clicked

偶尔善良 提交于 2019-12-13 08:56:46

问题


I have design my RecyclerView to display something like this:

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
        }
    });
}

回答1:


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();

Add the menu item in res-menu,

example ::

<?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>

Image click is in onBindViewHolder in the adapter.

holder.image.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                     // PopupMenu function here
                }
  });


来源:https://stackoverflow.com/questions/49746915/displaying-content-menu-when-image-on-recyclerview-item-clicked

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!