Popup Menu on Contextual Action Bar its not working

风格不统一 提交于 2020-01-06 04:56:26

问题


Hello everyone my name is Taniguchi and i created a recyclerview and in this recyclerview i inserted a contextual action bar. And i want to insert a popup menu when i click in one of the items on the actio bar. I followed this but its not working.

Line:

View menuItemView = Activity.FindViewById<View>(Resource.Id.itemTwoId);

is showing the error : CS0120

and the Line :

PopupMenu popupMenu = new PopupMenu(this,menuItemView);

is showing the error : CS1503

My contextual action bar:

 public class MyActionMode : Java.Lang.Object, ActionMode.ICallback
    {

        private RecyclerViewHolder holder;
        private Context mContext;
        private RecyclerView.Adapter mAdapter;
        private int currentPosition;
        private IMenu menu;

        public MyActionMode(Context context) : this(context, null, 0)
        {

        }

        public MyActionMode(Context context, RecyclerView.Adapter adapter, int position)
        {
            mContext = context;
            mAdapter = adapter;
            currentPosition = position;
        }

        public bool OnActionItemClicked(ActionMode mode, IMenuItem item)
        {

            switch (item.ItemId)
            {
                case Resource.Id.itemOneId:
                    View menuItemView = Activity.FindViewById<View>(Resource.Id.itemTwoId); // SAME ID AS MENU ID
                    PopupMenu popupMenu = new PopupMenu(this,menuItemView);
                    popupMenu.Inflate(Resource.Menu.popup_menu);
                    // And define click listener here.
                    popupMenu.Show();
                    return true;
                case Resource.Id.itemTwoId:
                    // do Update
                    return true;
                default:
                    return false;
            }
        }

        public bool OnCreateActionMode(ActionMode mode, IMenu menu)
        {
            mode.MenuInflater.Inflate(Resource.Menu.ContextualMenu, menu);

            return true;
        }

        public void OnDestroyActionMode(ActionMode mode)
        {
            mode.Dispose();
        }

        public bool OnPrepareActionMode(ActionMode mode, IMenu menu)
        {
            return false;
        }
    }

the error appears only OnActionItemClicked function.

来源:https://stackoverflow.com/questions/57398589/popup-menu-on-contextual-action-bar-its-not-working

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