public void onRecyclerViewItemLongClicked(final int position, int id) {
PopupMenu popup = new PopupMenu(MainActivity.this,binding.rcvPrefix.getChildAt(position));
popup.getMenuInflater().inflate(R.menu.menu_item_rcv,popup.getMenu());
popup.show();
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()){
case R.id.item_add:
createDialogAdd();
initializeRCV();
Toast.makeText(MainActivity.this, "Add", Toast.LENGTH_SHORT).show();
break;
case R.id.item_edit:
Toast.makeText(MainActivity.this, "Edit", Toast.LENGTH_SHORT).show();
break;
case R.id.item_delete:
Toast.makeText(MainActivity.this, "Delete", Toast.LENGTH_SHORT).show();
db.deletePrefix(prefixList.get(position));
prefixList.remove(position);
initializeRCV();
break;
default:
break;
}
return true;
}
});
}
//error
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.tiny.covertphonenum, PID: 13363
java.lang.IllegalStateException: MenuPopupHelper cannot be used without an anchor
at com.android.internal.view.menu.MenuPopupHelper.show(MenuPopupHelper.java:125)
at android.widget.PopupMenu.show(PopupMenu.java:218)
at com.example.tiny.covertphonenum.view.MainActivity.onRecyclerViewItemLongClicked(MainActivity.java:291)
at com.example.tiny.covertphonenum.presenter.adapter.AdapterRcvPrefix$1.onLongClick(AdapterRcvPrefix.java:49)
at android.view.View.performLongClick(View.java:5237)
at android.view.View$CheckForLongPress.run(View.java:21121)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
I try show popup menu when long click item but error when item have position=10.please help me