Я хочу показать PopupMenu, что это внутри recycerview, но
Когда я нажимаю на приложение menuButton, вызывающее сбой, и для поиска проблемы я удаляю метод showPopupMenuMenu (), вызываемый из setOnClickListener, и заменяю тостом, он работает нормально
Проблема в методе showPopupMenuMenu (). Любой, пожалуйста, помогите мне решить эту проблему
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();
}
Строка двоичного XML-файла # 32: Не удалось разрешить атрибут в индексе 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>