在RecyclerView上的图像上显示内容菜单单击

时间:2018-04-10 06:34:20

标签: java android android-recyclerview

我设计了RecyclerView来显示如下内容:

My RecyclerView

我希望在用户点击时显示上下文菜单,并在ImageView项目中显示RecyclerView(垂直3点图像)。

@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 个答案:

答案 0 :(得分:1)

放置3点图像并点击该图像时使用以下内容,

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

图像单击位于适配器中的onBindViewHolder中。

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