'Binary XML file line #32: Failed to resolve attribute at index 1: TypedValue{t=0x2/d=0x7f0300cc a=-1}

I want to show PopupMenu it is inside recycerview but When i click menuButton app crashing and to finding the issue i removed showPopupMenuMenu() method calling from setOnClickListener and replaced with toast it is working fine
The problem is in showPopupMenuMenu() method any one please help me to solve this issue

holder.menuButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
               try{
                   showPopupMenuMenu(holder,position);
               }catch (Exception e){
                   Log.e("showPopupMenuMenu",e.getMessage()+"");
               }
            }
        });

private void showPopupMenuMenu(MyViewHolder holder, final int position){
        //creating a popup menu
          PopupMenu popup = new PopupMenu(context, holder.menuButton);
        //inflating menu from xml resource
        popup.inflate(R.menu.recyclerview_option_menu);
        //adding click listener
       try{
           popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
               @Override
               public boolean onMenuItemClick(MenuItem item) {
                   switch (item.getItemId()) {
                       case R.id.edit_menu:
                           //handle menu1 click
                           if (context instanceof MyAddressActivity) {
                               ((MyAddressActivity) context).openEditAddressActivity(position, true);
                           } else if (context instanceof CheckoutLocationActivity) {
                               ((CheckoutLocationActivity) context).openEditAddressActivity();
                           }
                           break;
                       case R.id.delete_menu:
                           //handle menu2 click
                           if (context instanceof MyAddressActivity) {
                               ((MyAddressActivity) context).deleteAddressItem(position);
                           } else if (context instanceof CheckoutLocationActivity) {
                               ((CheckoutLocationActivity) context).mCheckoutLocationActivityPresenter.deleteAddressItem(position);
                           }
                           break;

                   }
                   return false;
               }
           });
       }catch (Exception e){
           Log.e("showPopupMenuMenu","setOnMenuItemClickListener  "+e.getMessage()+"");
       }
        //displaying the popup
        popup.show();
}

Binary XML file line #32: Failed to resolve attribute at index 1: TypedValue{t=0x2/d=0x7f0300cc a=-1}

R.menu.recyclerview_option_menu

<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:id="@+id/edit_menu"
        android:title="@string/edit" />

    <item
        android:id="@+id/delete_menu"
        android:title="@string/delete" />

</menu>


Solution 1:[1]

Try this please;

openPopUpMenu.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            PopupMenu popupMenu = new PopupMenu(activity, v);
            popupMenu.getMenuInflater().inflate(R.menu.pop_up_menu, popupMenu.getMenu());
            popupMenu.show();

            popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
                @Override
                public boolean onMenuItemClick(MenuItem menuItem) {

                    if (menuItem.getTitle().equals("1. item title")) {
                        //do something
                    } else if (menuItem.getTitle().equals("2.item Title")) {
                        // do something
                    } 
                    return false;
                }
            });
        }
    });

Solution 2:[2]

If your using PopupMenu inside Adapter make sure tht Data passing to Constructor should be like

 AddressAdapter addressAdapter=new AddressAdapter(AddressList.this,addressModels);
                recyclerView.setAdapter(addressAdapter);

instead of

 AddressAdapter addressAdapter=new AddressAdapter(getApplicationContext(),addressModels);
                recyclerView.setAdapter(addressAdapter);

Note : Pass Activity ".this" not "ApplicationContext()"

Solution 3:[3]

You should use import android.widget.PopupMenu; librariy. You shuldn't androidx.appcompat.widget this isnt work.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2
Solution 3 Muhammed Murat Göktaş