单击RecyclerView项目上的图像时显示内容菜单 [英] Displaying Content Menu When Image on RecyclerView Item Clicked

查看:220
本文介绍了单击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
                }
  });

这篇关于单击RecyclerView项目上的图像时显示内容菜单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆